Фильтры

Для фильтрации в списке ресурсов нужно создать класс фильтра для каждого фильтруемого поля и добавить его в список фильтров в свойство $filters.

<?php

namespace App\Http\Livewire\Admin\Posts;

use App\Http\Livewire\Filters\TypeFilter;
...

class PostList extends ResourceListComponent
{
    ...

    // Фильтры
    public array $filters = [
        TypeFilter::class
    ];
    
    public function columns(): array
    {
        ...
    }
}

Типы фильтров

Доступно несколько типов фильтров.

Фильтр по списку

app/Http/Livewire/Filters/TypeFilter.php
<?php

namespace App\Http\Livewire\Filters;

use WebVovan\RockCms\Http\Livewire\Filters\SelectFilter;

class TypeFilter extends SelectFilter
{
    public string $field = 'author';
    public string $label = 'Автор';

    public array $data = [
        [
            'title' => 'администратор',
            'value' => 'admin',
        ],
        [
            'title' => 'менеджер',
            'value' => 'manager',
        ],
    ];

    public function builder()
    {
        $this->builder->where('author', $this->value);
    }
}

Last updated