Я не понимаю код, который возвращает сообщения, созданные пользователем при обращении к конкретному URL. У меня два сомнения.
Во-первых, знаете ли вы, как переменная $username
существует в "if($username = request('createdBy')){
"? Прямо перед тем, как он показывает неопределенное.
Другое сомнение в том, знаете ли вы, как $posts = $posts-get();
, если пользователь обращается к «http://proj.test/posts?createdBy=john”,, возвращает только сообщения, созданные пользователем (как и должно быть), а не все сообщения всех пользователей? Поскольку внутри 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')));
}