Laravel backpack 通过 url 链接参数设置列表页面的默认过滤条件

更新日期: 2019-08-08 阅读次数: 4019 字数: 193 分类: backpack

例如,我想查看 https://abc.com/admin/news 这个列表页中,store_id 为 29 的信息。

过滤的方法是在链接中加入请求参数

https://abc.com/admin/news?store_id=29

crud controller 中对参数进行检查,并设置过滤条件

use Illuminate\Support\Facades\Input;
       
$store_id = Input::get('store_id', 0);
if ($store_id) {
    $this->crud->addClause('where', 'store_id', $store_id);
}

注意

backpack 中的这种过滤方法,有一定的局限性。

如果单纯是查询类的列表展示,用这种方法没有问题。

但是,如果是这个列表的每条子项还需编辑修改的话,在保存之后,没法跳转回原列表。因为,自动将后面的查询参数去掉了。

这种情况,最好使用 backpack 链接参数来过滤列表

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式