错误代码:
SQLSTATE [42000]:语法错误或访问冲突:1055'churchstore_laravel.sells.xid'不在GROUP BY中(SQL:选择sells
。*,items
。{{1} } {,item_title
。items
,group_concat(items.item_title SEPARATOR“,”)来自item_id
上的sells
内部加入items
。sells
= item_id
。items
其中item_id
。sells
喜欢2018-04-14%created_at
组。sells
)
代码是
ticket_number
刀片代码
$buyLists = Sell::join('items', 'sells.item_id', '=', 'items.item_id')
->select('sells.*', 'items.item_title', 'items.item_id')
->selectRaw(DB::raw('group_concat(items.item_title SEPARATOR ", ")'))
->where('sells.created_at', 'like', $timeCheck->format('Y-m-d') . '%')
->groupBy('sells.ticket_number')
->get();
答案 0 :(得分:0)
您需要一种不同的方法。获取数据库中的所有商品和商品,然后将其分组:
$buyLists = Sell::join('items', 'sells.item_id', '=', 'items.item_id')
->select('sells.*', 'items.item_title')
->whereDate('sells.created_at', $timeCheck)
->get();
$groupedBuyLists = $buyLists->groupBy('ticket_number');
foreach($groupedBuyLists as $ticketNumber => $sells) {
$title = implode(', ', $sells->pluck('item_title')->all());
foreach($sells as $sell) {
// $sell->status
}
}
对于items
,您应该使用relationship和eager loading代替JOIN
。