sql >> Databáze >  >> RDS >> Mysql

Různé výsledky pomocí stejného dotazu s DB::raw a Eloquent

where váže 3. param a zachází s ním obvykle jako s řetězcem, pokud mu to neřeknete pomocí raw příkazu. DB::raw nebo whereRaw bude pracovat pro vás:

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 - součet hodnot sloupců na základě řádku ze stejné tabulky

  2. Jaký je ekvivalent varchar(max) v Oracle?

  3. varchar(20) a varchar(50) jsou stejné?

  4. Jak prohlížíte VEŠKERÝ text z ntextu nebo nvarchar(max) v SSMS?