php artisan make:policy PostPolicy
protected $policies = [
// 'App\Model' => 'App\Policies\ModelPolicy',
Entry::class => EntryPolicy::class
];
En EntryPolicy.php:
public function update(User $user, Entry $entry) {
return $user->id === $entry->user_id; // dará true o false
}
Y ahora ya solo llamar a ese policie desde una vista:
@can ('update',$entry) <!-- por defecto es el user logueado -->
...
@endcan
desde un controller:
$this->authorize('update',$entry); // el id_user coge el user logueado por defecto
O desde routes/web.php con un middleware:
Route::get('/entries/{entry}/edit', 'EntryController@edit')->middleware('can:update,entry');
No hay comentarios:
Publicar un comentario