0

我的问题很简单。我有一个名为“文章”的表,我想获得前三篇最近的文章订单 DESC。但如果这些文章的发布日期早于或等于今天,我也希望显示这些文章。所以我的请求中有另一个条件。我的 cakephp 代码如下:

$this->set('lastArticles', $this->Article->find('all', array(
            'conditions' => array('Article.visible' => true),
            'Article.publication_date <= ' => date('Y-m-d'),
            'order' => array('Article.creation_date DESC', 'Article.id DESC'),
            'limit' => 3
        )));

但问题是即使发布日期>日期('Ymd')的文章也会显示!有人有想法吗?提前感谢您的回答。

4

2 回答 2

1

看起来您的 publication_date 条件不在条件数组中。您的代码应如下所示:

$this->set('lastArticles', $this->Article->find('all', 
     array(
        'conditions' => array(
            'Article.visible' => true, 
            'Article.publication_date <= ' => date('Y-m-d')
        ),
        'order' => array(
            'Article.creation_date DESC', 
            'Article.id DESC'
        ),
        'limit' => 3
    )));

一点额外的缩进和空格是你的朋友。

于 2012-07-25T15:11:48.300 回答
0
See this

$conditions = array(
                'Article.visible' => true,
                'Article.publication_date <= ' => date('Y-m-d')
            );

$order = array('Article.creation_date DESC', 'Article.id DESC');

$lastArticles = $this->Article->find('all', array(
            'conditions' => $conditions,
            'order' => $order,
            'limit' => 3
        );

$this->set('lastArticles', $lastArticles);
于 2012-07-26T04:25:42.757 回答