Laravel版本: 5.6。*
PHP版本: 7.2.2
数据库驱动程序&版本: Mysql 5.0.12
说明
我需要在contruct方法中返回登录用户
重现步骤: 我需要在contruct方法中返回登录用户,
public function __construct(){
$this->menu = new Menu();
$this->menu->getEnabledMenu();
$this->categories = $this->
menu::with('children')->
where('parent_id','=',0)->
whereIn('id', [8,9,7])->
orderBy('position', 'asc')->
get();
}
我尝试使用$ this-> user-> Auth :: user() - > id;但这不起作用
我也试过这个
https://laravel-news.com/controller-construct-session-changes-in-laravel-5-3
$this->middleware(function ($request, $next){
$this->user= Auth::user();
return $next($request);
});
但我不知道如何访问$ this-> user
请 我需要帮助
抱歉我的英文
答案 0 :(得分:0)
您需要在控制器上定义$user
属性,如:
class MyController {
// keep a reference to the authenticated user.
public $user;
public function __construct() {
$this->middleware(function ($request, $next){
$this->user = Auth::user();
return $next($request);
});
}
...
}