PHP
Laravel
Eloquent
lumen
More than 1 year has passed since last update.

Laravelより軽量なLumenということでEloquent使おうとしたらハマった。

いつも通りModelを作って


UserController.php

$user = User::find(1);


実行してみると

FatalThrowableError

Call to a member function connection() on null

んん?

database.phpも大丈夫、というかphp artisan migrateできてる。

調べてみるとLumenではデフォルト設定ではEloquentは無効になってました。

公式ドキュメントにもちゃんと書いてありました。

Eloquent ORM

If you would like to use the Eloquent ORM,
you should uncomment the $app->withEloquent()
call in your bootstrap/app.php file.

ということで


bootstrap/app.php

$app->withEloquent();


こんな感じにコメントアウトを外したら使えるようになります。

DB::select("SELECT * FROM users");みたいにクエリビルダーを使いたいなら


bootstrap/app.php

$app->withFacades();


こちらもコメントアウト外す必要があります。