0

这是我的代码:

    $attendances = $this->Pupil->Attendance->find('all',
        array(
            'conditions'=>array(
                'Pupil.group_id'=>$group,
                'Attendance.date' >= $start,
                'Attendance.date' <= $end
                )
            )
        )
    );

这是生成的 SQL:

SELECT [many different fields from a few tables] WHERE `Pupil`.`group_id` = 7 AND 1

$start 的值为 2011-06-06,end 为 2011-06-10(在视图中使用 debug() 验证)。

为什么 Cake 会生成条件“AND 1”,而忽略我的条件?

谢谢阅读!

4

1 回答 1

1

好的,今天我的速度非常慢,为侮辱大家的智商而道歉。

当然,问题在于 >= 和 <= 不在引号内。

对于任何有类似脑死亡时刻的人来说,正确的代码是

    $attendances = $this->Pupil->Attendance->find('all',
        array(
            'conditions'=>array(
                'Pupil.group_id'=>$group,
                'AND'=>array(
                    'Attendance.date >=' => $start,
                    'Attendance.date <=' => $end
                )
            )
        )
    );
于 2011-06-13T12:34:41.473 回答