嘿伙计们我正在建立一个雄辩的查询,以查看与一系列参与者的对话已经存在。这样做的原因是我们不能与同一个创建不止一次的参与者进行相同的对话。
这是我雄辩的问题:
$convos = Conversation::whereHas('participant', function ($query) use ($participantIds) {
$query->whereIn('user_id', $participantIds)
->groupBy('convo_id')
->havingRaw('COUNT(convo_id)='.count($participantIds));
})->get();
例如,$ participantIds等于[1,2]或[1,2,3]。
如何检查$ participantIds中的ID是否存在对话?上述查询将返回数组中参与者 ANY 的对话
因此,如果我与John(2)和Matt(4)进行了对话,但尝试与我和John进行对话,此查询将显示我已经与John进行了对话