为什么eloqent中的capsule在slim中需要setAsglobal()方法

时间:2018-07-07 17:12:24

标签: php twig slim

为什么胶囊实例需要苗条的setAsglobal()方法 capsule->setAsglobal();

请参阅:https://github.com/illuminate/database

1 个答案:

答案 0 :(得分:0)

实际上,设置说明的状态是可选的,请参见illuminate/database

// Make this Capsule instance available globally via static methods...
(optional) $capsule->setAsGlobal();

但是,您必须将Connection设置为Global,这样才能访问Slim代码中的任何位置。

由于您通常使用Illuminate\Database\Capsule\ManagerDB门面(例如use Illuminate\Database\Capsule\Manager as DB;)访问胶囊

$result = \Illuminate\Database\Capsule\Manager::select('select * from users');

您必须将其设置为全局(也如Slim v3 Cookbook所示)。

否则,您可以尝试在需要时通过连接管理器实际创建胶囊的范围内进行数据库工作(或使用相同的设置重新创建/重新连接)。