我正在使用传统的CakePHP 1.1应用程序,理想情况下需要修改一些数据库查询。我更习惯于使用1.2和1.3,所以我发现一些难以使用的“旧式”代码。以下查询适用于1.1:
$events = $this->Event->findAll(array('Event.id'=>$event_ids));
我想为该数组添加另一个条件,例如'Event.start>' => [date]',但是所有这样做的尝试似乎都会导致查询返回null。
为了增加我的困惑,Cake 1.1 Cookbook建议findAll的工作方式如下:
如果$ conditions参数应该是一个字符串,那么为什么它往往会以数组的形式出现(不仅仅是在这个应用程序中,我在网上的其他地方看到过很多)?从CakePHP 1.1获得我想要的结果的最佳途径是什么?没有将整个东西升级到现代版的Cake?
答案 0 :(得分:2)
查看CakePHP 1.1 API,它表明第一个参数$conditions
的值为mixed
。
然而,大约CakePHP 1.2 RC2,比较运算符从右向左移动(或从值移动到键)以保存连接。
以下内容应该适合您:
$events = $this->Event->findAll(array(
'Event.id' => $event_ids,
'Event.start' => '> ' . gmdate(DATE_ATOM),
));