我想在这里为变量$user_detail
分配一些值,从数据库中提取以在整个控制器类中使用,例如用户的详细信息。它的Laravel 5.3
private $user_detail;
public function __construct(){
$this->user_detail=User::find(Auth::id());
}
public function index(){
return $post_data=$this->user_detail;
}
从上面的代码我得到一个空白的屏幕。 我怎样才能做到这一点,还是有更好的方法呢?请建议。 感谢
答案 0 :(得分:2)
您正在尝试获取当前经过身份验证的用户并将其传递到某处。但事情是Laravel已经为你做了,你可以使用auth()->user()
对象从应用程序的任何部分访问经过身份验证的用户:
{{ auth()->user()->name }}
{{ auth()->user()->email }}
答案 1 :(得分:0)
您返回初始化,这就是您看到空白页面的原因。你应该做的是初始化变量并在之后返回变量。你的代码看起来像这样。
public function index() {
$post_data = $this->user_detail
return $post_data;
}
这将首先初始化您的变量,然后返回变量。
但是像@alexeymezenin所说,您已经可以使用auth()->user()
在应用程序的任何位置获取登录的用户对象。