所以发生的事情是我为用户帖子和用户朋友发布了一系列ID,然后检查当前网页的帖子ID是否在ID数组。这是我想要的第一页,但因为我使用分页,它不适用于第一页之后的页面。
public function authorize(Request $request)
{
$postRepo = $this->postRepo;
$posts = $postRepo->index();
$posts->all();
$post_id = $request->route('post_id');
$posts = $posts->pluck('id')->toArray();
if (in_array($post_id, $posts)) {
return true;
}
}
目前,id的数组只显示第一页似乎是问题的那些
array:4 [▼
0 => 10
1 => 11
2 => 9
3 => 17
]
答案 0 :(得分:0)
您可以将authorize()方法更改为:
public function authorize(Request $request)
{
$postRepo = $this->postRepo;
$post_id = $request->route('post_id');
// Here I believe that index() method return a Eloquent Builder
$posts = $postRepo->index();
return (boolean) $posts->where('id', $post_id)->count();
}
如果在$postRepo->index()
中存在$ post_id,它将返回true。