目次
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メソッドは使用できません。
配列をコレクション型の配列にして独自でカスタマイズしたページネイト機能を実装することになります。
