Zend framework zend框架中的列顺序首选项左连接

Zend framework zend框架中的列顺序首选项左连接,zend-framework,left-join,Zend Framework,Left Join,如果在右表的匹配行中找不到,则返回null,即b2.book_id的值 记录存在于图书主目录中,但不存在于图书明细中 请指导我。joinleft方法的第三个参数必须是要获取的列的数组 请看 使用joinLefttable的条件[columns]方法进行左连接 包括左操作数表中的所有行,包括右操作数表中的匹配行,如果不存在与左表匹配的行,则右操作数表中的列将填充NULL 您的代码应该是: $select->from(array('b1'=>'books_master'), 'b1.bo

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

记录存在于图书主目录中,但不存在于图书明细中


请指导我。joinleft方法的第三个参数必须是要获取的列的数组

请看

使用joinLefttable的条件[columns]方法进行左连接

包括左操作数表中的所有行,包括右操作数表中的匹配行,如果不存在与左表匹配的行,则右操作数表中的列将填充NULL

您的代码应该是:

$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,即在joinLeft函数中指定的b2.book_id的值,而不是返回在from子句中指定的b1.book_id的非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'));