在CakePHP 1.1中查找所有内容

时间:2011-08-08 15:29:15

标签: cakephp

我正在使用传统的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的工作方式如下:

  • findAll
  • string $ conditions
  • array $ fields
  • string $ order
  • int $ limit
  • int $ page
  • int $ recursive

如果$ conditions参数应该是一个字符串,那么为什么它往往会以数组的形式出现(不仅仅是在这个应用程序中,我在网上的其他地方看到过很多)?从CakePHP 1.1获得我想要的结果的最佳途径是什么?没有将整个东西升级到现代版的Cake?

1 个答案:

答案 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),
));