Я получил запрос ниже, который работает нормально:
$data = User::select('users.id')->distinct()->join('messages as m', function ($join) {
$join->on('users.id', 'm.user_id_origin')
->orOn('users.id', 'm.user_id_destination');
})
->where('m.updated_at','>',date ("Y-m-d H:i:s", $tf))
->whereNull('m.deleted_at')
->where(function($q) use ($user) {
$q->where('m.user_id_origin',$user->id);
$q->orWhere('m.user_id_destination',$user->id);
})->orderBy('m.created_at','desc');
Но как только я добавляю в запрос следующее условие, это занимает до 5 секунд:
->where('users.id','!=',$user->id) //ignoring current user from the list
В чем может быть причина?