SQL请求无法正常工作
问题描述:
我的问题很简单。我有一个名为'articles'的表,我希望得到前三个最近的文章订单DESC。但我也希望这些文章如果发布日期早于或等于今天就会显示。所以我的要求中有其他条件。我的CakePHP的代码如下:SQL请求无法正常工作
$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
)));
但即使有出版日期>日期(“Y-M-d”)的文章,这些的人都显示得问题!有人有想法吗?预先感谢您的回答。
答
看起来像您的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
)));
有点额外的缩进和空白是你的朋友在这里。
答
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-31,因此不应该显示! – user1450730 2012-07-25 15:22:51