2011-02-05 4 views
1

У меня есть два стола. 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'));, тогда он отображает только данные таблицы пользователя.

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

Благодаря

ответ

3

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

$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')) 
); 
+0

я исправил свой ответ. – Tjorriemorrie

1

пытаются использовать

$select = $table->select(Zend_Db_Table::SELECT_WITH_FROM_PART); 
+1

печати SQL запрос для отладки его – Distdev

Смежные вопросы