Фильтры

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

Чтобы указать по каким полям осуществлять фильтрацию данных, достаточно в вашем ресурсе модели в методе filters(), вернуть массив с необходимыми полями.

Если метод отсутствует, либо возвращает пустой массив, то фильтры не будут отображаться

Некоторые поля не могут участвовать в построении запроса на фильтрацию, поэтому они будут автоматически исключены из списка фильтров

namespace App\MoonShine\Resources;
 
use App\Models\Post;
use MoonShine\Fields\Text;
use MoonShine\Resources\ModelResource;
 
class PostResource extends ModelResource
{
protected string $model = Post::class;
 
protected string $title = 'Posts';
 
//...
 
public function filters(): array
{
return [
Text::make('Title', 'title'),
];
}
 
//...
}

Поля являются ключевым звеном построения форм в админ-панели Moonshine.
Подробнее о Полях

Если необходимо кешировать состояние фильтров, воспользуйтесь свойством saveFilterState в ресурсе.

namespace App\MoonShine\Resources;
 
use App\Models\Post;
use MoonShine\Resources\ModelResource;
 
class PostResource extends ModelResource
{
protected string $model = Post::class;
 
protected string $title = 'Posts';
 
protected bool $saveFilterState = true;
//...
}