【发布时间】:2016-06-06 17:52:06
【问题描述】:
有谁知道如何将 Eloquent Query Builder 与 Dingo API 一起使用?
使用开箱即用的 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,当我想使用查询生成器时,我收到了以下错误消息:
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();
...
【问题讨论】:
-
我认为我们需要查看更多特定于您的 Dingo API 的代码。是
useIlluminate\Database\QueryBuilder\ 吗?
标签: eloquent laravel-5.2 laravel-query-builder dingo-api lumen-5.2