Привязка политики к модели в Laravel
Чтобы authorize('update', $post)
нашёл нужный класс, модель должна
быть связана с политикой. Laravel
обычно делает это сам по имени:
Post → PostPolicy.
Если имена не совпадают или хотите
закрепить связь явно, регистрируют
в AppServiceProvider:
<?php
use App\Models\Post;
use App\Policies\PostPolicy;
use Illuminate\Support\Facades\Gate;
public function boot(): void
{
Gate::policy(Post::class, PostPolicy::class);
}
?>
Явно зарегистрируйте
PostPolicy через
Gate::policy.
Объясните, по какому принципу Laravel сам угадывает политику по имени модели.