Политика Lumen не работает в v5.6

Я работаю в люмен v5.6. В моем проекте у меня есть две политики: имя класса UserPolicy и CommentPolicy. Теперь я хочу удалить комментарий и определить архивный метод в классе CommentPolicy, но когда я могу это сделать из моего контроллера комментариев, тогда этот метод не вызывается, потому что мне нужно реализовать некоторую логику в этом методе. Теперь я не знаю, почему метод CommentPolicy не вызывается из контроллера комментариев.

Ниже мой код, который я кодирую

Зарегистрировать политику в сервис-провайдере

Gate::policy(User::class, \App\Policies\CommentPolicy::class);

Класс политики

<?php
namespace App\Policies;
use App\Models\User;
use App\Models\PostComment;
class CommentPolicy
{

    public function archive(User $currentUser, PostComment $comment)
    {
        echo "Policy<pre>";
        print_r($comment->toArray());
        exit;
        return $currentUser->id === $comment->user_id;
    }

}

Мой метод контроллера

public function archiveComment(PostCommentRequest $request){
        $user = $this->getCurrentUser($request);
        $comment = $this->comment->getCommentById($request->get('data')['comment_id']);
        if($user->can('archive', $comment)){
            die('policy call');
        }
        die('policy not called');
    }

Теперь меня беспокоит то, что я хочу получать данные в классе политики комментариев вместо класса UserPolicy и реализовать мою логику авторизации удаления комментариев.

0 ответов

Другие вопросы по тегам