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 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。