ВЫБЕРИТЕ 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 НА 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();
Каков твой вопрос??






DB::table('chat_message') ->JOIN('customers','chat_message.received_by','=','customers.id','||','customers','chat_message.sent_by','=','customers.id')
->select('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)
->groupBy(customers.id)->get();
Попробуйте groupBy вместо отличного
Не могли бы вы пояснить, почему разница в именах таблиц между вашим необработанным запросом и красноречивым запросом?