У меня есть три модели - блог, сообщение, комментарий. Блог имеет много Post Post имеет много комментарийLaravel Eloquent Relationship issue
, когда я пишу
return Blog::with('posts','posts.comments')->get();
Это даст все блоги с сообщениями и комментариями. Но как я получу те блоги, которые создаются пользователем admin i.e. user_id, который находится в таблице комментариев. Где написать ->where
состояние.
return Blog::with('posts','posts.comments')->where('comments.user_id','=','23')->get();
дает ошибки.
SQLSTATE[42P01]: Undefined table: 7 ERROR: missing FROM-clause entry for table "comments"
LINE 1: select * from "blogs" where "comments"."is_...
^ (SQL: select * from "blogs" where "comments"."user_id" = 23)
Как решить эту проблему.
Пожалуйста, пост ошибки – user1012181
Side Примечание: Вы только должны сделать 'posts.comments' и не так, поскольку вложенными взаимоотношен загружать каждое отношение, которое оно выполняет через ('posts' &' comments') – SamV
Ваш вопрос не имеет большого смысла. Вам нужны блоги, созданные определенным пользователем, но user_id находится в таблице комментариев. Почему и как писатели комментариев для блога диктуют, кому принадлежит сам блог? – user3158900