cakephp创建了确切日期的查询

时间:2012-11-26 23:15:56

标签: php database cakephp model

试图弄清楚如何查找在特定日期创建的数据库中的所有记录,但是我很难找到必要的条件。这就是我到目前为止所做的:

$date = new DateTime('2012-11-25');
$users = $this->User->find('all', array('conditions' => array('User.created > ' => $date)));

但这给了我的不仅仅是指定的一天。如何调整条件以便返回11月25日创建的所有用户?

3 个答案:

答案 0 :(得分:0)

您的代码中包含大于符号。

$users = $this->User->find('all', array('conditions' => array('User.created > ' => $date)));

尝试不用:

$users = $this->User->find('all', array('conditions' => array('User.created' => $date)));

答案 1 :(得分:0)

你应该使用CakeTime方法,或者手动断言你只检查这一天的日期部分。

http://book.cakephp.org/2.0/en/core-utility-libraries/time.html#CakeTime::dayAsSql

'conditions' => CakeTime::dayAsSql($date, 'created')

答案 2 :(得分:0)

玩完之后,我终于能够让它上班了。希望这可以帮助那些遇到相同情况的其他人:

$date = new DateTime('2012-11-25');
$users = $this->User->find('all', array('conditions' => CakeTime::dayAsSql($date, $date, 'User.created')));

关键是要确保两次提供$ date。