【Laravel】EloquentクエリでCONCAT関数を使う

 こんにちわ、娘が最近急に喋り出して目を細めているTakaです。さて、今回は最近多いですがLaravelネタになります。今回は複数のカラムを対象に検索をしたい場合などに使うCONCAT関数をLaravelのEloquentクエリで使う方法を備忘録も兼ねて紹介したいと思います。

 なお、Laravelとはなんぞやという方は下の記事を参照してください!

環境

 今回の環境は下記の通りとなります。

今回の環境

  • Laravel 5.5
  • MySQL 5.6.37

EloquentクエリでCONCAT関数を使う

 さて、早速コードの紹介ですが、EloquentメソッドにCONCAT関数はないので、DB::rawメソッドを使用してSQL文としてCONCAT関数を書いていきます。下記がそのコードになります。


Data::where(DB::raw('CONCAT(familyname,firstname)'), '山田太郎')->get();


 このコードは、datasテーブルの「familyname」と「firstname」カラムを連結させたものを対象に「山田太郎」に一致するデータを取得をしています。至って単純ですね。

 システム構築をしていると、CONCAT関数を使うケースも多くあるので覚えておくと便利ですね。

 なお、DB::rawメソッドは生クエリになるので変数を扱いたい場合等は、SQLインジェクションに注意してエスケープ処理をしてください。

 以上、今回はここまで!Takaでした。また!

この記事のまとめ

  • LaravelのEloquentクエリでCONCAT関数を使う

お仕事のご相談・ご依頼
お気軽にお問い合わせください!

お仕事の依頼はこちら

著者プロフィール

Taka

東京、奄美大島を拠点にサーフィンとスノーボードが好きなフリーランスのWebクリエイターです。普段はプログラム書いたりデザインしたり映像作ったりしています。いろいろな人の話しを聞くのが好きなので、このブログを通して多くの人と繋がりが出来たら嬉しいです。noteとInstagramもやっているのでフォローしてくれたらありがたいです!

人気記事

コメントを残す

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