where
तीसरे परम को बांधता है और इसे आमतौर पर एक स्ट्रिंग के रूप में मानता है, जब तक कि आप इसे कच्चे कथन का उपयोग करके नहीं बताते हैं। DB::raw
या whereRaw
आपके लिए काम करेगा:
return User::join('squad_user', 'users.id', '=', 'squad_user.user_id')
->join('seasons', 'squad_user.squad_id', '=', 'seasons.squad_id')
->where('squad_user.join_time', '<=', DB::raw('seasons.end_time'))
->where(function ($query)
{
$query->where('squad_user.leave_time', '>=', DB::raw('seasons.start_time'))
->orWhereNull('squad_user.leave_time');
})
->where('seasons.id', 3)
->get(['users.*']);