【发布时间】:2017-11-10 17:16:49
【问题描述】:
我想通过应用程序使用用户类。所以,我想创建 CustomUser,然后将它注入到需要它的控制器中(大部分都是)。
现在,我在 serviceprovider 中创建一个空实例。接下来,我想用已经保存在 Auth::user() 中的数据填充它。找了好久也没找到在哪里做。
Auth::user() 在中间件中为空,但在控制器中填充了用户数据。我错过了 Laravel 查询数据库并用数据填充 Auth:user() 的步骤。我想避免再次进行相同的查询。
感谢您的帮助!
【问题讨论】:
-
您可以尝试使用属性
$user创建基本控制器并将其设置在__constructor()中。例如:public function __constructor{ $this->user = Auth::user(); } -
安德烈,我试过了。 Auth::user() 在“类 Controller 扩展 BaseController”中为空。然后每个控制器扩展 Controller 类,并且它已经包含数据。 Auth::user 介于两者之间。
-
不,不...
Auth::user()在任何地方都可以正常工作。如果它是空的,可能是授权系统有问题。 -
在Controller构造函数中好像是空的。从路由器调用的方法运行良好。