【发布时间】:2018-09-25 13:58:29
【问题描述】:
我已经写了这个带有分页的查询
$items = Item::select('items.*', 'sub_category_name', 'category_name', 'sub_category_slug', 'category_slug')
->join('sub_categories AS sc', 'sc.sc_id', 'items.sub_category_id')
->join('categories AS c', 'c.category_id', 'sc.category_id')
->where('items.is_active', '=', 1)
->where('sc.is_active', '=', 1)
->where('c.is_active', '=', 1)
->where('sc.sc_id', '=', $sub_category_id)
->paginate(1);
但它说
语法错误或访问冲突:1140 如果没有 GROUP BY 子句,将 GROUP 列 (MIN(),MAX(),COUNT(),...) 与没有 GROUP 列的混合是非法的
但是当我添加 ->groupBy('item_id'); 时,它会说
语法错误或访问冲突:1055 'books.items.item_name' 不在 GROUP BY 中
但是当我在 groupBy 子句中执行 item_name 时,它会告诉 groupBy 下一列。为什么?
【问题讨论】:
-
整个错误信息(包括查询)是什么?
标签: php laravel laravel-5 laravel-paginate