我得到下面的查询,它可以正常工作:
$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
可能是什么原因?