列命令首选项左边连接在zend框架中

时间:2015-04-07 09:56:06

标签: zend-framework left-join

$select->from(array('b1'=>'books_master'), 'b1.book_id');

$select->joinLeft(array('b2'=>'books_details'), 'b1.book_id = b2.book_id', 'b2.book_id');

这将返回null,即如果在右表中的匹配行中找不到b2.book_id的值。

记录位于books_master但不在books_details

请指导我。

1 个答案:

答案 0 :(得分:0)

joinleft方法的第三个参数必须是您要获取的列的数组

请参阅documentation

  使用joinLeft(table, condition, [columns])方法

LEFT JOIN

     

包含左操作数表中的所有行,匹配右操作数表中的行,如果没有与左表匹配的行,则右操作数表中的列用NULL填充。

你的代码应该是:

$select->from(array('b1'=>'books_master'), 'b1.book_id');
$select->joinLeft(array('b2'=>'books_details'), 'b1.book_id = b2.book_id', 
                  array('b2.book_id'));