Могу ли я создать этот запрос с помощью Eloquent или мне нужен Query Builder? - PullRequest
0 голосов
/ 20 октября 2018

Можно ли использовать активную запись Eloquents для создания этого запроса или мне нужно использовать построитель запросов?

SELECT
    *
FROM
    chat
    inner join chat_member as member1
        on member1.chat_id = chat.chat_id
    inner join chat_member as member2
        on member2.chat_id = chat.chat_id
WHERE
    member1.chat_member_id = $member1ID
    and member2.chat_member_id = $member2ID

1 Ответ

0 голосов
/ 20 октября 2018

WhereHas() Функция предназначена для фильтрации запросов запросов.

Убедитесь, что у вас есть Chat и Member Модели.
И Chat Модель имеет members() отношение.

Затем вы можете выполнить запрос MySQL следующим образом.

Chat::whereHas('members', function ($query) {
    $query->where('chat_member_id', $member1ID);
})
->whereHas('members', function($query) {
    $query->where('chat_member_id', $member2ID);
})
->get();

Обновление, я исправил синтаксическую проблему

...