Laravel9で素のSQLを使う方法(SELECT文)

目次

Laravelで素のSQLを書く

LaravelでSQLを投げる時は基本クエリビルダを使用しますが、素のSQLでも書きたい時があります。
素のSQLでデータを取得するには、DBファサードのselectメソッドを使用します。
※最初にDBファサードを読み込むのを忘れずに

ソース

$params = Array();   //  バインドパラメータ用の配列を初期化

$sSQL  = "SELECT";
$sSQL .= "       id";
$sSQL .= "      ,game_name";
$sSQL .= "      ,game_date";
$sSQL .= " FROM";
$sSQL .= "       games";
$sSQL .= " WHERE";
$sSQL .= "       user_id = :user_id";          $params['user_id']   = $user_id;   //  名前付きプレースホルダを使用
$sSQL .= "   AND game_date LIKE :game_date";   $params['game_date'] = date('Y-m', $date).'%';

// 引数①:SQL文(string)
// 引数②:パラメータ(array)
$results = DB::select($sSQL, $params);

dd($results); // 取得結果をダンプ

クエリビルダを使用していないので既存のpaginateメソッドは使用できません。
配列をコレクション型の配列にして独自でカスタマイズしたページネイト機能を実装することになります。

  • URLをコピーしました!
目次