Помогите объединить две таблицы в Zend - PullRequest
1 голос
/ 05 февраля 2011

у меня два стола. user и address. Я присоединяюсь к ним вот так в Zend:

$table = new Model_User_DbTable();
$select = $table->select();
$select->setIntegrityCheck( false );
$select->join( 'address', 'address.id = user.address_id', array( 'city' => 'address.city' ) );
$row = $table->fetchAll( $select );
return $row;

Но указанный выше запрос возвращает все адреса с адреса, но не данные из пользовательской таблицы. Когда я удаляю $select->join( 'address', 'address.id = user.address_id', array( 'city' => 'address.city' ) );, тогда отображаются только данные таблицы пользователя.

Как получить данные обеих таблиц ??

Спасибо

Ответы [ 2 ]

3 голосов
/ 05 февраля 2011

Не проверено:

$table = new Model_User_DbTable();
$resultSet = $table->fetchAll($table->select()
    ->setIntegrityCheck(false)
    ->from(array('u'=>'user'))
    ->join(array('a'=>'address'), 'u.address_id = a.id', array('city'=>'address_city'))
);
1 голос
/ 05 февраля 2011

попробуй использовать

$select = $table->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...