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('order_completed_at', '结算时间')->sortable();
$grid->column('created_at')->sortable();
$grid->disableCreateButton();
$grid->disableActions();
$grid->header(function ($collection) use ($grid) {
$query = DealerManagerSalesLogModel::query()->with(['product'])
->select(['product_id', DB::raw('sum(sales_volume) as sales_volume')]);
// 拿到表格筛选 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'] ?? []);
});
// 查出统计数据
$text = '';
foreach ($query->groupBy('product_id')->get() as $log) {
if ($text !== '') {
$text .= '
';
}
$text .= $log->product->name.'销量:'.$log->sales_volume;
}
// 自定义组件
return "