我有一个带有DateTime字段的模型。 即使列是DateTime,我怎样才能按日期获取所有条目?
示例表汽车:
id; expiration
1;2014-12-22 00:00:00
2;2014-12-22 03:12:00
3;2014-10-09 01:10:29
如果我这样做:
$this->Car->find("all", array('conditions' => array('expiration' => '2014-12-22' ) ))
我只获得ID为1的项目(2014-12-22 00:00:00)
但我需要所有物品(1和2) 任何想法如何实现这一目标?在MySql中,我可以这样做:
SELECT * ... FROM..WHERE DATE_FORMAT(conditions, '%Y-%m-%d') = '2014-12-22'
答案 0 :(得分:4)
试试这个
$this->Car->find("all", array('conditions' => array('DATE(ondate)' => '2014-12-22') ));
这将生成
SELECT * ... FROM..WHERE WHERE DATE(ondate) = '2014-12-22'
答案 1 :(得分:1)
您需要更新您的查询,如下所示:
$this->Car->find("all", array(
'conditions' => array(
'DATE(expiration)' => '2014-12-22'
)
)
);
在上面的查询中,Mysql现在只比较日期而不是在您提到的查询中使用的日期和时间。
答案 2 :(得分:-1)
您需要搜索范围:00:00:00-23:59:59 http://cookbook.mongodb.org/patterns/date_range/