我正在尝试从我的数据库中检索结果,其中详细信息跨越表格的“地点”,“类别”和“评论”,然后按评论数量排序。当我添加第二个连接时,只检索一行。
$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()函数中以使代码更清晰。
有什么想法吗?
答案 0 :(得分:4)
我认为您想要的是LEFT JOIN
,请尝试:
->join('places_reviews', 'places_reviews.place_id = places.id', 'left')