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

文章目录

    例如,我想查看 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式