codeigniter join显示一定数量的行

时间:2011-03-18 14:25:36

标签: mysql sql codeigniter join comments

您好我想知道我如何能够显示我已经制作了“主题”中发布了多少“评论”

    $this->db->select('forum_traad.id as traadID, 
    forum_traad.overskrift as traadOverskrift, forum_kommentare.brugernavn as kommentareBrugernavn, 
    forum_kommentare.dato as kommentareDato, forum_traad.status as traadStatus, 
    forum_kommentare.id as kommentareID');
    $this->db->join('forum_kommentare', 'forum_traad.id = forum_kommentare.fk_forum_traad');
    //$this->db->where('traadStatus', 'ja');
    $this->db->limit('10');
    $this->db->order_by('kommentareDato', 'desc');
    $this->db->from('forum_traad');

    $activeQuery = $this->db->get();

    return $activeQuery->result();

kommentare =评论

traad = threads

1 个答案:

答案 0 :(得分:0)

如果您只需要每个帖子的评论数,而不是实际的评论本身:

$this->db->select('forum_traad.id as traadID, forum_traad.overskrift as traadOverskrift, 
    forum_traad.status as traadStatus, count(forum_kommentare.id) as kommentare_count');
$this->db->join('forum_kommentare', 'forum_traad.id = forum_kommentare.fk_forum_traad');
$this->db->group_by('forum_traad.id');
$this->db->from('forum_traad');

$activeQuery = $this->db->get();

return $activeQuery->result();

如果您需要计数评论的数据,您基本上需要两个查询(可以使用subquery在一次调用中合并)。您将上面的示例作为子查询添加到原始文件中并加入其中。