bzarzuela/modelfilter

Laravel 5 的工具类,用于轻松过滤分页结果。

v0.1.4 2017-07-16 07:00 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:05:22 UTC


README

Laravel 5 工具类,用于轻松过滤分页结果

安装

composer require bzarzuela/modelfilter

使用

在显示模型列表的操作中使用。在这个例子中,是 TicketsController 中的 index 操作。

public function index()
{
    $model_filter = new ModelFilter('tickets');

    $model_filter->setRules([
        'id' => ['primary'],
        'concern_types' => ['in', 'concern_type_id'],
        'created_from' => ['from', 'created_at'],
        'created_to' => ['to', 'created_at'],
    ]);

    $tickets = $model_filter->filter(Ticket::query())->paginate(30);

    $filters = $model_filter->getFormData();

    return view('tickets.index', compact('tickets', 'filters'));
}

传递给视图的 $filters 变量允许表单渲染之前指定的过滤器。