Laravel7 条件によって、サブクエリを結合する方法

$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を使って渡してやる!

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です