让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 的极速开发框架
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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