$flgがnullでない場合に、サブクエリ結合を行う場合
まず、サブクエリ部分のsqlを作成する。
$subQuery = サブクエリ部分のsqlを作る
whenを使って条件付きで、サブクエリの結合を行う。
// フラグがnullでなければ、サブクエリ結合
->when(!is_null($flg), function($query) use($subQuery){
$query->joinSub($subQuery, 'sq', function($join){
$join->on('sq.main_id', '=', 'm.id');
});
})
$subQueryをuseを使って渡してやる!