2013-03-09 3 views
0

Je recherche:Comment obtenir la colonne spécifique seulement de la table liée?

$sql = new Sql($this->tableGateway->getAdapter()); 
$select = $sql->select(); 

$select->from('table_1') 
    ->join('table_2', 'table_2_se_id = table_2.se_id 
         and table_2_table_3_id = table_2.table_3_id', 
         '*', 'LEFT') 
    ->join('table_3', 'table_2_table_3_id=table_3.id', '*', 'LEFT') 
    ->join('table_4', 'table_4_id=table_4.id', '*', 'LEFT'); 

Comment obtenir une seule colonne (par exemple 'nom') de TABLE_4?

Répondre

2

Le troisième paramètre à join() est où vous spécifiez des colonnes, au moment où vous sélectionnez tous *. Le paramètre peut être une chaîne représentant une seule colonne, ou un tableau de colonnes, de sorte que les éléments suivants devraient travailler

->join('table_4', 'table_4_id=table_4.id', 'name', 'LEFT'); 
+0

Oui, mais je reçois aussi d'autres champs de table_3, table_1 et table_2 ... – Nips

+2

Essayez de remplacer ' » * ''avec' array() 'dans les' jointes' vous ne voulez pas sélectionner les colonnes – Crisp

Questions connexes