Codeigniter 中的 IFNULL(COUNT('id'),0)

发布于 2024-11-06 04:12:28 字数 632 浏览 0 评论 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浮光之海 2024-11-13 04:12:28

在 SELECT 语句后添加 false。 CodeIgniter 试图用反引号转义该语句,但不知道如何正确执行此操作。 false 会告诉它不要这样做。

->select('IFNULL(COUNT(`places_reviews.place_id`), 0) AS `num_reviews`', 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. 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文