我可以使用 Eloquent 创建此查询还是需要查询生成器?

Can I create this query with Eloquent or do I need Query Builder?

我可以使用 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

WhereHas()功能是从关系查询中过滤。

确保您有 ChatMember 个模型。
并且 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();

更新,我修复了语法问题