dcat-admin框架 筛选某个字段时候,统计总金额
dcat-admin 文档 数据表格,头部脚步文章内给出了 获取查询条件的方法.
我加一个,判断查询某个字段后,再查询总金额的功能
$grid->header(function ($collection) use($grid) {
$query = ModelsCostReimbursement::query();
$searchArr = [];
// 拿到表格筛选 where 条件数组进行遍历
$grid->model()->getQueries()->unique()->each(function ($value) use (&$query,&$searchArr) {
if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) {
return;
}
//存储查询的字段名
$searchArr[] = $value['arguments'][0];
$query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []);
});
//筛选后 展示 统计数据
//如果搜索了date,project_id,user_id则统计金额
foreach(['date','project_id','user_id'] as $item){
if (in_array($item, $searchArr)) {
// 查出统计数据
$data = $query->sum('amount');
return Card::make('总额:' . $data);
}
}
});
本作品采用《CC 协议》,转载必须注明作者和本文链接