select
select句でSQLの関数を使用する。
->select( DB::raw('DATE_FORMAT(timecards.dt, \'%Y年%m月\') as fm'), DB::raw('count(*) as working_days') )
leftJoin
on句で複数の条件を指定する。
->leftJoin('holidays', function($join) { $join->on('timecards.dt', '=', 'holidays.dt') ->whereNull('holidays.deleted_at'); })
ソフトデリートは、joinしているテーブルには効かない…
where
and条件とor条件を組み合わせる。
->where(function($query) { $query->whereNull('holidays.id') ->orWhereIn('timecards.cd', [0,7]) ->orWhereNull('time_cards.id'); })
whereRaw
where句でSQL関数を使用する。
->whereRaw('WEEKDAY(timecards.dt) < ?', 5)
その他
よく忘れる内容は随時更新する。
コメント