ВЫБЕРИТЕ DISTINCT enrich_customers.id ОТ enrich_chat_message
ВНУТРЕННЕЕ СОЕДИНЕНИЕ enrich_customers ON enrich_chat_message.sent_by = enrich_customers.id
|| enrich_chat_message.received_by = enrich_customers.id
где (enrich_chat_message.sent_by = 3
|| enrich_chat_message.received_by = 3) и enrich_customers.id! = 3
конвертировать необработанный запрос в красноречивый запрос
ВЫБЕРИТЕ DISTINCT enrich_customers.id ОТ enrich_chat_message
ВНУТРЕННЕЕ СОЕДИНЕНИЕ enrich_customers ON enrich_chat_message.sent_by = enrich_customers.id || enrich_chat_message.received_by = enrich_customers.id где (enrich_chat_message.sent_by = 3 || enrich_chat_message.received_by = 3) и enrich_customers.id! = 3
Кому:
DB::table('chat_message')
->select('customers.id')
->JOIN('customers','chat_message.received_by','=','customers.id','||','customers','chat_message.sent_by','=','customers.id')
->where('chat_message.sent_by',3)
->orWhere(function($q) use ($authid){
$q->where('chat_message.sent_by',3)
->orwhere('chat_message.received_by',3);
})->where('chat_message.sent_by','!=', 3)
->distinct()->get();