繁体   English   中英

Codeigniter 3-Join不会返回所有结果

[英]Codeigniter 3 - Join doesn't return all results

我有这个查询:

return $this->db
        ->select('forumCategories.id, forumCategories.name, forumCategories.order, forumCategories.date_created, COUNT(forumPosts.forumCategory_id) as postCount')
        ->from('forumCategories')
        ->join('forumPosts', 'forumCategories.id = forumPosts.forumCategory_id', 'left')
        ->group_by('forumPosts.forumCategory_id')
        ->order_by('forumCategories.order DESC')
        ->get()
        ->result_array();

该查询将获取所有论坛类别,并计算每个类别的帖子。 问题在于,它只采用有帖子的类别,再加上仅一个尚无任何帖子的类别。

例:

Category 1 | 16 posts
Category 2 | 3 posts
Category 3 | 0 posts
Category 4 | 0 posts
Category 5 | 0 posts
Category 6 | 0 posts

仅返回类别1、2和3。 如何编写此查询,以便返回所有类别?

尝试使用始终具有价值的第一个表列(forumCategories.id)进行分组。

 return $this->db
            ->select('forumCategories.id, forumCategories.name, forumCategories.order, forumCategories.date_created, COUNT(forumPosts.forumCategory_id) as postCount')
            ->from('forumCategories')
            ->join('forumPosts', 'forumCategories.id = forumPosts.forumCategory_id', 'left')
            ->group_by('forumCategories.id')
            ->order_by('forumCategories.order DESC')
            ->get()
            ->result_array();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM