Codeigniter中的多个连接(活动记录)

时间:2011-05-09 17:15:54

标签: codeigniter

我正在尝试从我的数据库中检索结果,其中详细信息跨越表格的“地点”,“类别”和“评论”,然后按评论数量排序。当我添加第二个连接时,只检索一行。

$this->db->select('places.*, category.*')
            ->from('places')
            ->join('category', 'places.category_id = category.category_id')
            ->join('places_reviews', 'places_reviews.place_id = places.id')
            ->where('places.category_id', $category_id)
            ->limit($limit, $offset)
            ->order_by($sort_by, $sort_order);

我没有将IFNULL(COUNT(places_reviews('review_id')) AS 'num_reviews', 0)添加到select()函数中以使代码更清晰。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

我认为您想要的是LEFT JOIN,请尝试:

->join('places_reviews', 'places_reviews.place_id = places.id', 'left')