model()->orderBy('id', 'desc');//默认ID倒叙 $grid->column('id')->sortable(); $grid->column('user.phone', '手机号')->copyable(); $grid->column('lvl', '等级')->display(function () { return $this->lvl->text(); }); $grid->column('order.sn', '订单编号'); $grid->column('product.name', '商品名称'); $grid->column('sales_volume', '销量'); $grid->column('total_amount', '金额'); $grid->column('order_completed_at', '结算时间')->sortable(); $grid->column('created_at')->sortable(); $grid->disableCreateButton(); $grid->disableActions(); $grid->header(function ($collection) use ($grid) { return tap(new Row(), function ($row) use ($grid) { $query = DealerManageSubsidyLogModel::query(); $grid->model()->getQueries()->unique()->each(function ($value) use (&$query) { if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) { return; } $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); }); $row->column(3, new InfoBox('津贴总额', (clone $query)->sum('total_amount'), 'fa fa-cny')); }); $query = DealerManageSubsidyLogModel::query(); // 拿到表格筛选 where 条件数组进行遍历 $grid->model()->getQueries()->unique()->each(function ($value) use (&$query) { if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) { return; } $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); }); // 查出统计数据 $totalAmount = (clone $query)->sum('total_amount'); // 自定义组件 return "