尝试获取非对象的属性时出现错误

问题描述 投票:0回答:1

我在尝试获取非对象的属性时遇到错误,我创建了角色和用户表,并将外键传递给用户表,不,我只希望对管理仪表板进行身份验证和管理用户访问,就可以了

我尝试不同的逻辑但对我不起作用,这是我的代码

UserModel

public function role(){
    return $this->belongsTo(\App\Role::class);
}

RoleModel

public function users(){
    return $this->hasMany(\App\User::class);
}

AdminController

public function __construct()
{
    return $this->middleware(['auth','CheckAdmin']);
}

public function index(){
    //$adminUsers = User::with('roles')->where('id',auth()->user()->id)->get();
    //dd($adminUsers);
    return view('backend.admin.index');
}

CheckAdminMiddleware

public function handle($request, Closure $next)
{
    if(Auth::user()->role->name == 'Admin'){
        return redirect('/admin')->with('message', "Successfully Login");
    }
    return $next($request);

}

我在中间件中收到错误。我在做什么错?

laravel laravel-5.8
1个回答
0
投票

因为您的Auth::user()->role返回集合而不是对象。您应该致电Auth::user()->role['name']

© www.soinside.com 2019 - 2024. All rights reserved.