Como PaulF apontado, você precisa usar
JOIN
ou subconsulta para recuperar o nome do pai da mesma tabela. Suponho que você esteja usando
ssp.class.php
para processar seus dados no lado do servidor com base no exemplo que você mencionou. Classe
ssp.class.php
não oferece suporte a junções e subconsultas, mas há uma solução alternativa. O truque é usar a subconsulta como mostrado abaixo em $table
definição. Substituir table
com o nome real da tabela na subconsulta. $table = <<<EOT
(
SELECT
a.id,
a.name,
a.father_id,
b.name AS father_name
FROM table a
LEFT JOIN table b ON a.father_id = b.id
) temp
EOT;
$primaryKey = 'id';
$columns = array(
array( 'db' => 'id', 'dt' => 0 ),
array( 'db' => 'name', 'dt' => 1 ),
array( 'db' => 'father_id', 'dt' => 2 ),
array( 'db' => 'father_name', 'dt' => 3 )
);
$sql_details = array(
'user' => '',
'pass' => '',
'db' => '',
'host' => ''
);
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
Você também precisa editar
ssp.class.php
e substitua todas as instâncias de FROM `$table`
com FROM $table
para remover backticks. Certifique-se de que todos os nomes de coluna sejam exclusivos, caso contrário, use
AS
para atribuir um alias. NOTAS
Há também github.com/emran/ssp repositório que contém o
ssp.class.php
aprimorado apoiando JOINs. LINKS
Consulte jQuery DataTables:Usando WHERE, JOIN e GROUP BY com ssp.class.php Para maiores informações.