Dingo API で Eloquent Query Builder を使用する方法を知っている人はいますか?
箱から出してEloquentを使用すると、うまく機能しています:
use Illuminate\Database\Capsule\Manager as Capsule;
$capsule = new Capsule;
$capsule->addConnection([ ... ]);
$capsule->setAsGlobal(); // Make this Capsule instance available globally via static methods
$capsule->bootEloquent(); // Setup the Eloquent ORM
そして、私のモデルでは、クエリ ビルダーを使用できます。
use Illuminate\Database\Capsule\Manager as Capsule;
Capsule::table('users')->where(...)->select(Capsule::raw('AVG(rating) AS avg_rating'))->first()->avg_rating;
Eloquent を使用して同じ結果が得られることはわかっていますが、簡単なクエリでしか機能しません。
User::where(..)->selectRaw(...)->first()->avg_rating;
Dingo API を使用して、Query Builder を使用したい場合、次のエラー メッセージが表示されます。
Fatal error: Call to a member function connection() on null
app/bootstrap.phpファイルで呼び出したことのないsetAsGlobalメソッドに関連していると思います。私はこれしか持っていません:
...
$app = new Laravel\Lumen\Application(
realpath(__DIR__.'/../')
);
// $app->withFacades();
$app->withEloquent();
...