如何在CakePHP中查询两个日期范围的数据?

时间:2011-05-16 17:51:31

标签: cakephp

我正在尝试执行此查询以在date_start和date_end之间获取“横幅”。

$current_date = date('Y-m-d');
$banners = $this->Banner->find('all', 
                     array('conditions' => 
                               array("date_start >= " => $current_date, 
                               "date_end <= " => $current_date)
                     ));

我试图使用NOW()似乎会导致问题,我尝试使用“AND”条件,并且我还将查询与$ current_date连接起来(例如“date_start =&gt;”。$ CURRENT_DATE)

我出错的任何想法?

修改

通过改变条件来管理它的工作:

$banners = $this->Banner->find('all', array('conditions' => array("'$current_date' >=" >= "date_start", "'$current_date' <=" => 'date_end')));

1 个答案:

答案 0 :(得分:2)

你应该改变你的等式

date_start&lt; = $ current_date和 date_end&gt; = $当前日期

让我们说date_start是1/5/2011 和date_end是3/5/2011 和curr_date是2/5/2011

请注意,curr_date大于start_date且小于end_date,在你的情况下你检查相反的