英语文本日期表达cakephp查找查询

时间:2013-10-24 15:42:10

标签: php sql cakephp cakephp-1.3 php-5.3

假设我在cakephp应用程序中有一个名为users的数据库表,其中包含一堆用户,在该表中我有一个名为date的字段,其中包含每个用户的注册日期。假设我想做一个查找查询以获取上个月注册的所有用户。类似的东西:

$last_month_users = $this->User->find('all', array(
    'conditions' => array(
        'User.date' => 'last month'
    )
));

这样的东西不起作用。请问我该怎么做呢?

谢谢

1 个答案:

答案 0 :(得分:1)

如果您正在使用mysql,那么您希望在声明中添加:

WHERE MONTH(User.date) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)

我相信你可以通过以下方式在cakePHP中做到这一点:

$last_month_users = $this->User->find('all', array(
    'conditions' => array(
        'MONTH(User.date) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)'
    )
));