开发者

IFNULL(COUNT('id'),0) in Codeigniter

开发者 https://www.devze.com 2023-03-04 13:22 出处:网络
I believe there is an error in this line in Codeigniter using Active Records, but Icant seem to figure out the syntax on the second line with IFNULL() and COUNT()

I believe there is an error in this line in Codeigniter using Active Records, but I cant seem to figure out the syntax on the second line with IFNULL() and COUNT()

$this->db->select('places.*, category.*')
            ->select('IFNULL(COUNT("places_reviews.place_id"), 0) AS num_reviews')
            ->from('places')
            ->join('category', 'places.category_id = category.category_id')
  开发者_JAVA百科          ->join('places_reviews', 'places_reviews.place_id = places.id', 'left')
            ->where('places.category_id', $category_id)
            ->group_by('places.id')
            ->limit($limit, $offset)
            ->order_by($sort_by, $sort_order);


Add false after the SELECT statement. CodeIgniter is trying to escape the statement with backticks and doesn't know how to do so correctly. The false will tell it not to.

->select('IFNULL(COUNT(`places_reviews.place_id`), 0) AS `num_reviews`', false)

EDIT: In COUNT("places_reviews.place_id"), the quotes should be backticks.

0

精彩评论

暂无评论...
验证码 换一张
取 消