Объявление правила доступа в Laravel
Правило Gate объявляют в
AppServiceProvider
в методе boot. Имя правила -
строка, логика - замыкание:
<?php
namespace App\Providers;
use App\Models\Post;
use App\Models\User;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function boot(): void
{
Gate::define('update-post', function (User $user, Post $post) {
return $user->id === $post->user_id;
});
}
}
?>
Объявите Gate update-post:
править может только автор.
Рядом объявите Gate
delete-post
с той же логикой.