我不了解在需要特定网址时返回由用户创建的帖子的代码。我有两个疑问。
首先,您是否知道变量$username
在“ if($username = request('createdBy')){
”中如何存在?就在它显示未定义之前。
另一个疑问是,如果用户访问“ http://proj.test/posts?createdBy=john”,$posts = $posts-get();
会如何仅返回用户创建的帖子(应如此),而不返回所有帖子?用户?因为在if(username = request(createdBy))
内$ posts变量没有被新值覆盖,所以$ posts值不应该显示所有用户的所有帖子?
public function index(Category $category)
{
if($category->exists){
$posts = $category->posts()->latest();
}else{
$posts = Post::latest();
}
dd($username); // shows Undefined variable: username
if($username = request('createdBy')){
dd($username); // shows john if the url is "http://proj.test/posts?createdBy=john"
$user = User::where('name', '=', $username)->first();
$posts->where('user_id','=', $user->id);
}
$posts = $posts->get();
return view('posts.index', compact(('posts')));
}