Używam route model binding i policy w Laravel i w jednym przypadku mi to działa natomiast w drugim już nie
//CommentPolicy
public function delete(User $user, Comment $comment)
{
return $user->id === $comment->user_id;
}
//CommentController
public function destroy(Comment $comment)
{
$this->authorize('delete', $comment);
$comment->delete();
}
//AuthServiceProvider
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
Article::class => ArticlePolicy::class,
Comment::class => CommentPolicy::class
];
w przypadku artykułów wszystko działa poprawnie natomiast w przypadku komentarzy. Jeśli mój kontroler wygląda w sposób jak powyżej (z autoryzacja) otrzymują informację
This action is unauthorized.
kiedy usunę linijkę odpowiedzialną za autoryzację kod się wykonuje jednak z bazy rekord nie zostaje usunięty.