Laravel-Admin 列表分组:使用 groupBy 方法
在 Laravel-Admin 中,可以使用 'groupBy' 方法对列表进行分组。
例如,我们有一个 'orders' 表,其中包含 'id'、'user_id'、'amount'、'created_at' 四个字段,我们想要按照用户分组统计订单总金额,可以在 'Order' 模型中添加如下方法:
public static function groupByUser()
{
return self::query()->selectRaw('user_id, SUM(amount) as total_amount')
->groupBy('user_id')
->orderByDesc('total_amount');
}
然后在 'OrderController' 的 'index' 方法中调用 'groupByUser' 方法:
public function index(Content $content)
{
return $content
->header('Orders')
->description('List')
->body(Order::groupByUser()->paginate());
}
这样就可以在列表中按照用户分组展示订单总金额了。
原文地址: https://www.cveoy.top/t/topic/nOsz 著作权归作者所有。请勿转载和采集!