Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

corybaumer's avatar

Do I need to use query builder for this?

Can I use Eloquents active record to create this query or do I need to use the query builder?


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

0 likes
2 replies
rawilk's avatar

You can use either eloquent or the query builder as they both have almost all the same methods as each other. If you have a model, I'd recommend using eloquent, but it's ultimately up to you what you want to use.

corybaumer's avatar

I ended up doing this

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

Please or to participate in this conversation.