安排有最新评论的帖子,并显示最新评论

时间:2016-03-29 07:21:33

标签: php mysql codeigniter

我们的应用程序有一个comment表,看起来像这样(粗略架构)

id(unique, primary, autoincrement)
post_id(20 varchar)
comment (160 varchar)
user_id(20 varchar)
created_at(timestamp)

我们如何按照发布在他们身上的评论的降序排列独特的帖子,例如

post 1 (date posted 16/03/16)(latest comment 04:00 PM)
post 2 (date posted 29/03/16)(latest comment 03:00 PM)

我们无法制定这个,因为我们的代码返回的是第一条评论,而不是最新的评论

$this->db->select('*');
$this->db->distinct('post_id');
$this->db->order_by('created_at','DESC');
$this->db->limit(1);
$this->db->group_by('post_id');
$this->db->limit(10); // 10 unique post
$this->db->where('user_id',$user);
$query = $this->db->get('comments');
return $quer->result();

1 个答案:

答案 0 :(得分:0)

尝试以下查询:

$query_result = $this->db->query('SELECT * FROM (
SELECT *
FROM comments
WHERE user_id='.(int)$user.'
ORDER BY id DESC) as temp
GROUP BY post_id
LIMIT 0,10');