8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Laravel】whereRawを使って、DBの情報を置換して検索する。

Last updated at Posted at 2017-12-21

##■やりたかったこと
###前提
1.DBに格納されている社員名の苗字と名前の間に全角スペースがあるのとないのが存在している。
2.検索をかける社員名は別のtableからとっていて、苗字と名前の間にスペースはない。
3.[1,2]より、DBの社員名の全角スペースを削除して[2]の値と比較をしたい。
4.[2]をひとつずつ引数にして、[1]から検索を行う。

###mysqlで書くなら
スクリーンショット 2017-12-21 9.50.58.png
たぶんこんな感じで取れる。

###Laravelで書きたい&クロージャーはごちゃるので嫌だ!
以下のwhereRawというbuilderがあったので使うことにした。
スクリーンショット 2017-12-21 10.15.27.png

##■解決策
スクリーンショット 2017-12-21 10.41.23.png
この[?]に気づくまでに時間かかりました。第二引数には、変数の場合は配列にkeyなしでひたすら入れていけばいい感じです。裏側で配列にキャストしているので、変数が一つだったらそのままぶちこんでも大丈夫っぽいですね。

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?