0

这里帮助不大。我有两个模型用户和帖子。所以我想限制用户编辑其他用户的帖子,所以我使用了这个:

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');
    }

它可以工作,但是当我从两个用户帐户中单击编辑按钮时,它会转到我在编辑控制器上重定向的内容。

那我该如何解决呢,求大神帮忙!!!

4

0 回答 0