Laravelで取得用SQLをORMではなく、個別SQLを直接、実行する方法

Laravelを使っていて、

各種データをSQLで取得する際に、

ORMを使って、

  • 「select」項目
  • 「where」項目
  • 「join」項目

など、

各項目をORMを使って、

SQLを実行することが、

一般的に良く行う方法かと思います。

そんな中で、

ORMを使って、

実行できるかもしれないけれど、

ちょっと面倒なSQLなので、

個別SQLとして、

直接、SQLを実行したいことがあります。

この個別SQLを実行したいことが、

定期的に発生するので、

その方法をメモを残しておきます。

各種バージョン

Laravel

Laravelのバージョンとしては、

php artisan --version

というコマンドで確認すると、

$ php artisan --version
Laravel Framework 8.83.26

というバージョンであることがわかります。

対応内容

実際に個別のSQLを実行するためには、

selectの引数に直接、SQL文を渡すことで実行できます。

コードとしては、

DB::select('対象のSQL', $params);

このようになります。

例としては、

DB::select('
  select 
    val1,
    val2
  from 
    sample_table
  where id = ?
', array(1));

このように、

条件式などの設定値は、

SQL文の次に配列で渡して使います。

スキルを使って、就職/転職/副業する時のサイト

プログラミングのスキルなどを、自分なりに高めた上で、

自分のスキルをアピールして就職や転職を行い、年収をあげるか、

副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。

まずはできる範囲で取り組むことで、

少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。

おすすめ書籍

広告

おすすめ記事