这是我的代码:
$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,结束是2011-06-10(在视图中使用debug()验证)。
为什么Cake生成条件“AND 1”,并省略我的条件?
感谢阅读!
答案 0 :(得分:1)
好的,我今天非常慢,我为侮辱每个人的智慧而道歉。
问题当然是&gt; =和&lt; =不在引号内。
对于任何有类似脑死亡时刻的人来说,正确的代码是
$attendances = $this->Pupil->Attendance->find('all',
array(
'conditions'=>array(
'Pupil.group_id'=>$group,
'AND'=>array(
'Attendance.date >=' => $start,
'Attendance.date <=' => $end
)
)
)
);