Codeigniter 中的 IFNULL(COUNT('id'),0)
我相信使用 Active Records 的 Codeigniter 中的这一行有错误,但我似乎无法弄清楚第二行 IFNULL() 和 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')
->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);
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')
->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);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 SELECT 语句后添加
false
。 CodeIgniter 试图用反引号转义该语句,但不知道如何正确执行此操作。false
会告诉它不要这样做。编辑:在
COUNT("places_reviews.place_id")
中,引号应该是反引号。Add
false
after the SELECT statement. CodeIgniter is trying to escape the statement with backticks and doesn't know how to do so correctly. Thefalse
will tell it not to.EDIT: In
COUNT("places_reviews.place_id")
, the quotes should be backticks.