Быстрые фильтры/Теги

Вы просматриваете документацию старой версии MoonShine. Рассмотрите возможность обновления вашего проекта до MoonShine 2.x.

Иногда возникает потребность создать набор фильтров (подборку результатов) и отобразить ее на листинге. Для таких ситуаций созданы теги.

namespace MoonShine\Resources;
 
use MoonShine\Models\MoonshineUser;
use MoonShine\QueryTags\QueryTag;
use Illuminate\Contracts\Database\Eloquent\Builder;
 
class PostResource extends Resource
{
public static string $model = App\Models\Post::class;
 
public static string $title = 'Статьи';
//...
 
public function queryTags(): array
{
return [
QueryTag::make(
'Post with author', // Заголовок тега
fn(Builder $query) => $query->whereNotNull('author_id') // Query builder
),
 
QueryTag::make(
'Post without an author',
fn(Builder $query) => $query->whereNull('author_id')
)->icon('users')
];
}
 
//...
}