我正在尝试隐藏特定用户的帖子。只有帖子的创建者可以编辑或查看帖子。
我的节目视图一切正常。
我的PostController:
public function show($id)
{
//auth()->loginUsingId(3);
// Find Blog post by id
$post = Post::findOrFail($id);
if(Gate::denies('show-post', $post)) {
abort(403, 'Access denied');
};
return view('posts.show')->withPost($post);
}
但是我不知道如何为我的索引视图做同样的事情。我无法将参数传递给索引( $ id )。
有人能指出我正确的方向吗?
由于
答案 0 :(得分:1)
如果索引视图应仅返回用户创建的帖子,则应该是这样的:
public function index()
{
//get the auth user id
$user_id = Auth::user()->id;
//get only the posts where the user is the owner
$posts = Post::where('owner', $user_id)->get();
return view('posts.index')->withPost($posts);
}
您不需要在此处使用Gate
外观,因为您确定只获得当前经过身份验证的用户可以访问的帖子