我的分页完全像这样:
var $paginate = array(
'Article' => array(
'conditions' => array(
'Article.visible' => true),
'order' => array('Article.creation_date DESC', 'Article.id DESC'),
'limit' => 11
)
);
但我想用这样的出版日期过滤我的文章
var $paginate = array(
'Article' => array(
'conditions' => array(
'Article.visible' => true,
'Article.publication_date <= ' => date('Y-m-d H:i:s')),
'order' => array('Article.creation_date DESC', 'Article.id DESC'),
'limit' => 11
)
);
但似乎没有接受date()函数。 这不是好语法。 有人能帮帮我吗? 非常感谢。
答案 0 :(得分:1)
如果您要执行此操作,则必须在要分页的操作中或$this->paginate = array()
函数中使用__construct()
。
实例化对象时,不能执行类似的功能。
对于运行时的任何类型的方法调用都是如此。
答案 1 :(得分:0)
您不能在类级别的数组声明中使用函数。您可以做的是在控制器中使用beforeFilter()
回调来初始化$paginate
变量,如下所示:
function beforeFilter()
{
parent :: beforeFilter();
$this->paginate = array(
'Article' => array(
'conditions' => array(
'Article.visible' => true,
'Article.publication_date <=' => date('Y-m-d H:i:s')),
'order' => array('Article.creation_date DESC', 'Article.id DESC'),
'limit' => 11
)
);
}