sql >> Database >  >> RDS >> Mysql

Verschillende resultaten met dezelfde query met DB::raw en Eloquent

where bindt 3e param en behandelt het gewoonlijk als een string, tenzij je het zegt om het niet te doen met behulp van een raw-statement. DB::raw of whereRaw zal voor u werken:

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.*']);


  1. MySQL beste aanpak voor db-normalisatie, relaties en externe sleutels

  2. Doctrine-query om het totale aantal resultaten in MySQL te vinden met LIMIT

  3. mysql-fout 1292 bij gebruik van cast in update-instructie

  4. Fatale fout:Maximale uitvoeringstijd van 30 seconden overschreden in C: