我正在使用流明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
为什么一个工作而另一个工作?
答案 0 :(得分:4)
我说要仔细检查您的服务提供商。看起来你正在经历the DB Capsule,而实际上是打算在Laravel / Lumen之外使用。无论如何,如果你实际上使用的是Capsule Manager,你可能需要在提供者的boot
方法中注册,而不是register
。
此外,为了了解更多有关正在进行的操作的信息,请将其添加到测试代码中:
dd(app('db'), DB::getFacadeRoot());
如果需要,可以分享结果,这将提供有关两种方法之间差异的更多信息。
答案 1 :(得分:0)
app('db')->select("SELECT * FROM foo");
DB::connection()->getDatabaseName();
尝试
app('db')->connection()->getDatabaseName();
或
\DB::connection()->getDatabaseName();