0

私の問題は非常に単純です。「articles」という名前のテーブルがあり、最近の最初の 3 つの記事の順序 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
        )));

しかし問題は、発行日 > date('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 に答える