我在laravel中使用 groupBy 进行分组,但是在分组之后,我想显示单独的数组中位于同一组中的所有行。
$menus = Order_menu_mapping::whereIn('order_id', $order_ids)
->groupBy('menu_id')
->get();
这里$menus
仅组成仅保留一行的组。但我想显示每个组中的所有行。
答案 0 :(得分:2)
在您的示例中,您要向查询中添加groupBy
,这与在集合上使用groupBy()
不同。
get()
方法将执行查询并返回一个集合,因此您只需要在其后放置groupBy
:
$menus = Order_menu_mapping::whereIn('order_id', $order_ids)
->get()
->groupBy('menu_id');
答案 1 :(得分:0)
您需要使用mapToGroups。该groupBy可以处理数据集