我在尝试获取非对象的属性时遇到错误,我创建了角色和用户表,并将外键传递给用户表,不,我只希望对管理仪表板进行身份验证和管理用户访问,就可以了
我尝试不同的逻辑但对我不起作用,这是我的代码
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);
}
我在中间件中收到错误。我在做什么错?
因为您的Auth::user()->role
返回集合而不是对象。您应该致电Auth::user()->role['name']
。