10

我正在使用流明 5.3.1。$app->withFacades()并且$app->withEloquent()app.php. 在web.php我运行以下代码:

$app->get('foo', function () {
    return app('db')->select("SELECT * FROM foo");

    return "Connected successfully to database " . DB::connection()->getDatabaseName();
});

select()调用正确地从foo表中返回数据。但是,DB::connection()返回:

FatalErrorException in Manager.php line 74: 
Call to a member function getConnection() on null

为什么一个有效而另一个无效?

4

2 回答 2

4

我会说仔细检查您的服务提供商。看起来您正在浏览DB Capsule,而实际上它是打算在 Laravel/Lumen 之外使用的。无论如何,如果您实际上正在使用 Capsule Manager,您可能必须在boot提供者的方法中注册它,而不是register.

此外,为了了解更多关于发生了什么,请将其添加到您的测试代码中:

dd(app('db'), DB::getFacadeRoot());

如果需要,请分享结果,这将提供有关两种方法之间差异的更多信息。

于 2016-11-10T13:21:29.880 回答
0
 app('db')->select("SELECT * FROM foo");
 DB::connection()->getDatabaseName();

尝试

app('db')->connection()->getDatabaseName();

或者

\DB::connection()->getDatabaseName();
于 2016-11-10T08:33:26.613 回答