2011-02-05 47 views
1

我有兩張桌子。 useraddress。我在Zend中這樣加入他們:幫助在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 2011-02-05 20:05:46

1

嘗試使用

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

打印SQL查詢調試它 – Distdev 2011-02-05 11:24:27