2011-07-28 29 views
0
$lastComments = $this->Comment->find('all', array('fields' => array('Comment.news_id', 'Comment.date', 'Comment.content'), 
       'group' => array('Comment.news_id, Comment.date'),  
       'order' => array('Comment.date DESC')) 
     ); 

这样做是为了得到独一无二的主题最新评论(1条评论 - 1题)。集团通过ID和按日期

此代码不处理唯一的ID(唯一主题),我该如何解决这个问题?

独特不起作用。

$lastComments = $this->Comment->find('all', array('fields' => array('Comment.news_id', 'Comment.date', 'Comment.content'), 
       'group' => array('Comment.news_id'),  
       'order' => array('Comment.date DESC')) 
     ); 

此代码将返回唯一的主题,但为了通过日期不工作:/

回答

0

你提到DISTINCT没有工作。在CakePHP中使用DISTINCT语法时遇到问题,或者正确使用DISTINCT不会产生正确的结果?我想尝试:

$lastComments = $this->Comment->find('all', array('fields' => 
                array('DISTINCT Comment.news_id', 'Comment.date', 'Comment.content'), 
               'order' => array('Comment.date DESC')) 
    ); 
+0

我试过之前我贴:/ 有没有其他想法? 感谢您的回复。 干杯。 – JaRo

-1

如果它可以帮助,我有没有CakePHP的同样的问题,解决方法是使用一个最大(日)

Prehaps类似的东西在CakePHP中:

$lastComments = $this->Comment->find('all', 
array('fields' => array('Comment.news_id', 
         'Comment.date', 
         'Comment.content'), 
       'group' => array('Comment.news_id'),  
       'order' => array('max(Comment.date) DESC')) 
     ); 
1

我认为这将是你有点帮助...只是试试这个

$this->Post->find('all',array('order' => array('id DESC')) ); 
1
$this->Comment->find('first', array('order'=>array('Comment.id DESC')));