我使用的是Lumen 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
为什么一个人工作而不是另一个?
我会说双重检查您的服务提供商.看起来你正在经历
the DB Capsule,实际上是为了使用Laravel / Lumen.无论如何,如果您事实上使用Capsule Manager,您可能需要以提供商的引导方式注册,而不是注册.
另外,为了更多地了解发生了什么,将其添加到您的测试代码中:
dd(app('db'),DB::getFacadeRoot());
分享结果,如果你想,这将提供更多的信息,两种方法之间的区别.