Объединяйтесь с Zend_Db, не имея столбцов соединяемых таблиц - PullRequest
1 голос
/ 02 июля 2010

Я использую Zend_Db_Select для выполнения запроса с помощью Join.Я получаю следующий SQL-запрос:

SELECT `Utilisateur`.*, `Ressource`.*, `Acl_Cache`.*, `Role`.*, `UtilisateurRole`.* FROM `Utilisateur`
INNER JOIN `Ressource` ON Ressource.idJointure = Utilisateur.id
INNER JOIN `Acl_Cache` ON Acl_Cache.idRessource = Ressource.id
INNER JOIN `Role` ON Role.id = Acl_Cache.idRole
INNER JOIN `UtilisateurRole` ON UtilisateurRole.idRole = Role.id
WHERE (Ressource.tableJointure = 'Utilisateur') AND (UtilisateurRole.idUtilisateur = '2')

Почему Zend_Db добавляет эту часть к предложению SELECT:

, `Ressource`.*, `Acl_Cache`.*, `Role`.*, `UtilisateurRole`.*

Я никогда не спрашивал об этом, и я этого не хочу, Как предотвратить это поведение?

1 Ответ

2 голосов
/ 19 февраля 2011
$db->select()
   ->from(array('alias1'=>'table_i_want_all_cols_on'))
   ->joinLeft(array('alias2'=>'table_i_want_no_cols_on'),
                'alias1.id = alias2.id',
                array()
   )
   ->joinLeft(array('alias3'=>'table_i_want_some_cols_on'),
                'alias3.id = alias1.id',
                array('col1', 'col2')
   );
...