0

我无法获取主 id 数组,我尝试调试它在使用 joinLeft 函数时发生

这是我的脚本

 //setIntegrityCheck to false to allow joins
        $roomModel = new self();

        $select = $roomModel->select(Zend_Db_Table::SELECT_WITH_FROM_PART)
                ->setIntegrityCheck(FALSE);

        //performs join aliasing table room_type to t
        $select->join(array('t' => 'room_types'), 't.room_type_id = rooms.room_type_id AND num_beds> '.$number_beds);
        ////performs join aliasing table room_status to s
        $select->join(array('s' => 'room_statuses'), 's.room_status_id = rooms.room_status_id');

        $select->joinLeft(array('chin' => 'checkin'), 'chin.checkin_date > '.$checkin.' AND chin.checkin_date <'.$checkout.'');


        $select->joinLeft(array('chout' => 'checkout'), 'chout.checkout_date >'.$checkin.' AND chout.checkout_date <'.$checkout.'');


        $result = $roomModel->fetchAll($select);

是什么导致它发生?

4

1 回答 1

0

您要加入的表之一也可能包含一个名为主键的列,如果该行不存在,它将用 null 覆盖它。

您应该从每个表中选择所需的列:

$select->join('table', 'condition', array('column1', 'column2', 'column3'));
$select->joinLeft('table', 'condition', array('column1', 'column2', 'column3'));
于 2013-04-04T09:02:03.580 回答