首页 > 解决方案 > 在laravel中分组数据后如何分别显示每个组中的所有行

问题描述

我在 laravel 中使用groupBy进行分组,但是分组后我想在同一组中的单独数组中显示所有行。

$menus = Order_menu_mapping::whereIn('order_id', $order_ids)
    ->groupBy('menu_id')
    ->get();

这里$menus只做一个只保留一行的组。但我想显示每个组内的所有行。

标签: laravel

解决方案


在您的示例中,您添加groupBy到与groupBy()在集合上使用不同的查询中。

get()方法将执行查询并返回一个集合,因此您只需将其放在groupBy后面:

$menus = Order_menu_mapping::whereIn('order_id', $order_ids)
    ->get()
    ->groupBy('menu_id');

推荐阅读