让DcatAdmin再放光芒系列- 小技巧,让数据表格默认自带筛选条件,不影响用户筛选

需要背景

今天在 DcatAdmin 交流群,有人提出在开发中,遇到这样一个需求。

  1. 根据不同的用户类型,给不同的默认筛选条件。还不能影响原来的筛选。

    效果展示

    让DcatAdmin再放光芒系列- 小技巧,让数据表格默认自带筛选条件,不影响用户筛选

让DcatAdmin再放光芒系列- 小技巧,让数据表格默认自带筛选条件,不影响用户筛选

技术实现

分析:
1.通过 url 加参数也能达到默认筛选效果,但是针对不同用户。还是需要在控制器中实现。

  1. 通过 $grid->model()->where() 方式也可以达到不同用户,给不同的筛选结果。但是在界面筛选中,用户看不到筛选条件。

最好的方式是在控制器中把默认筛选条件 合并到请求参数中。能同时满足两个条件,还能达到预期效果。

示例代码

         //只有默认情况下
        if(!request()->has('title')){
            // 根据不同的登陆用户 给不同的条件
            if(Admin::user()->type == 'A') $req = request()->merge(['title'=> '他信']);
            if(Admin::user()->type == 'B') $req = request()->merge(['title'=> '大数据反腐']);
        }
本作品采用《CC 协议》,转载必须注明作者和本文链接
Dcat-Admin (plus版)是汇聚Filament,Laravel-admin , Dcat-admin 优点于一身的基于Laravel + Bootstrap 的极速开发框架
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!