让DcatAdmin再放光芒系列- 小技巧,让数据表格默认自带筛选条件,不影响用户筛选
需要背景
今天在 DcatAdmin 交流群,有人提出在开发中,遇到这样一个需求。
技术实现
分析:
1.通过 url 加参数也能达到默认筛选效果,但是针对不同用户。还是需要在控制器中实现。
- 通过
$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 协议》,转载必须注明作者和本文链接