Nova использует концепцию линз для этого.
Создайте новый объектив из командной строки:
php artisan nova:lens IsFrontpage
Измените метод query()
вapp/Nova/Lenses/IsFrontpage.php
:
public static function query(LensRequest $request, $query)
{
return $request->withOrdering($request->withFilters(
$query->where('frontpage', '=', true)
));
}
Прикрепите объектив к ресурсу:
public function lenses(Request $request)
{
return [
new IsFrontpage()
];
}
Доступ к объективу на панели администратора Nova: /nova/resources/posts/lens/is-frontpage
Подойдите поближепосмотрите документацию Nova , чтобы также настроить слаг URL (см. uriKey()
) и столбцы (см. fields()
).