почему мои ворота всегда отклоняют запрос на laravel

Здесь небольшая помощь. У меня есть две модели пользователя и пост. Итак, я хочу запретить пользователю редактировать сообщения других пользователей, поэтому я использовал это:

      public function boot()
    {
        $this->registerPolicies();

        //
        Gate::define('update-post', function (User $user, Post $post) {
              return $user->id === $post->user_id;
        });
    }

В App \ Providers \ AuthServiceProvider.php. и в моем контроллере в методе редактирования я использую этот код:

      public function edit($id, Post $post, User $user)
    {
       
       if(Gate::allows('update-post', $post)){
          $posts = Post::find($id);
          return view('pages.edit')->with('posts', $posts);
          
       }
       
        return redirect('/')->with('message', 'you cannot edit this post');
    }

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

Итак, как я могу это исправить, пожалуйста, помогите !!!

0 ответов

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