はじめに
Laravelで複雑な生SQLを書きたい時ってありますよね。
生のSQLの書き方が中々見つからなかったり、別の書き方では動かなかったりしたので、残しておきます。
前提条件
・PHP7.3
・Laravel5.8
・MySQL8.0
書き方
これだけです。
sql.php
DB::select(
// 生のSQL文
);
パラメータや変数の値をSQL分に含めたい時は、以下の通り。
sql.php
$user_id = $request['user_id'];
DB::select(
// 生のSQL文
:user_id
// 生のSQL文
, ['user_id' => $user_id]);
SQL文中に変数を代入する部分は、「:変数名」としてあげて、連想配列の形で定義済み変数を渡して上げましょう。