Кто-нибудь знает, как я могу использовать Eloquent Query Builder с Dingo API?Dingo API, используйте Database Query Builder
Использование красноречивый из коробки, он работает прекрасно:
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
А потом в моей модели, я могу использовать Query Builder:
use Illuminate\Database\Capsule\Manager as Capsule;
Capsule::table('users')->where(...)->select(Capsule::raw('AVG(rating) AS avg_rating'))->first()->avg_rating;
Я знаю, что я могу использовать красноречивый чтобы получить тот же результат, но он будет работать только с легким запросом:
User::where(..)->selectRaw(...)->first()->avg_rating;
Теперь с API-интерфейсом Dingo, когда Я хочу использовать Query Builder Я получил сообщение об ошибке:
Fatal error: Call to a member function connection() on null
Я думаю, что это связано с setAsGlobal методом , что я никогда не называется в моем приложение/bootstrap.php файл. У меня есть только это:
...
$app = new Laravel\Lumen\Application(
realpath(__DIR__.'/../')
);
// $app->withFacades();
$app->withEloquent();
...
Я думаю, что мы необходимо увидеть больше кода, специфичного для вашего Dingo API. Использует ли он 'Illuminate \ Database \ QueryBuilder \? –