laravel 5.1~ DB::rawでもDB::connectionが必要

みなさんlaravel使ってますか?

query builderがかなり高機能で面白いですね。

 

ただかなり単純なことで時間を食ったので同じことでハマった人がいた時のために。

結論はタイトル通りですが。

 

問題はSELECTで関数を使った時です。こんな感じ。

WS000195

 

これで実行しようとすると「Database mysql1 is not configured.」みたいなエラーが。。。

何を言ってるんだね?と思ったわけです。

仕方ないのでconfig/database.phpを確認。

WS000194

 

そもそもなんで使ってるDB設定が「mysql1」なの?$connectionに書いてるよね?

って思ってたら、DBファサードはデフォルトのDB接続設定使うんだと思い出したわけです。

そしたら、このdatabase.phpのdefaultに「mysql1」ってありますね。

 

「rawメソッドでもconnection設定しなきゃダメなんだ」と気づきました。

WS000196

 

これでOKです。

rawだと文字列操作関数みたいなイメージだから失念してました。