Laravel Eloquent - получите все X через колонку Y - PullRequest
0 голосов
/ 04 декабря 2018

Допустим, у меня есть модель Thread, которая hasMany Post.Я хочу получить все сообщения, принадлежащие определенной теме.

Однако параметры query, отправляемые в контроллер, не id, а 'thread_name' темы.

То, что я сейчас делаю, выглядит примерно так:

1) Получите поток по thread_name (ради аргумента, он уникален), что даст мне $thread
2) Получитьвсе посты, где thread_id = $thread->id

Я думаю, что это неэффективно, потому что я отправляю два SQL-запроса.

В любом случае можно выбрать пост через thread_name?

Извините, я думаю, что заголовок этой ветки довольно запутанный.

1 Ответ

0 голосов
/ 04 декабря 2018

Вы должны попробовать это:

$thread = Thread::where('thread_name', $thread_name)->with('posts')->first();

Это загрузит сообщения темы в объект Thread.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...