2011-05-09 78 views
3

我試圖從數據庫中檢索結果,其中包含跨表格「地點」,「類別」和「評論」的詳細信息,然後按評論數量進行排序。當我添加第二個連接時,只有一行被檢索。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()函數使代碼更乾淨。

任何想法?

+0

檢查。 JOIN使查詢只返回1行,因爲這是唯一匹配的行。 – 2011-05-09 17:26:15

回答

4

我想你想要的是一個LEFT JOIN,嘗試:你在DB行

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