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)
その他
よく忘れる内容は随時更新する。



コメント