我收到此错误:
call_user_func_array() expects parameter 1 to be a valid callback, class 'Illuminate\Auth\Guard' does not have a method 'getRole' (View: C:\wamp\www\lc2\laravel\app\views\account\profile.blade.php)
在模型User.php
中,我有一个这样的函数。
public function getRole(){
$roleid=Auth::user()->role;
switch($roleid){
case 1:
$role='Administrator';
break;
case 2:
$role='Manager';
break;
case 3:
$role='Professor';
break;
case 4:
$role='Student';
break;
default:
$role='';
}
return $role;
}
在另一个页面profile.blade.php
中,我获得了如下用户角色:
{{Auth::user()->getRole()}}
我做错了吗?
答案 0 :(得分:1)
由于您已在当前用户上致电getRole()
,为什么在Auth::user()->role
内使用getRole()
?
这应该可以正常工作:
public function getRole(){
switch($this->role){
case 1:
$role='Administrator';
break;
case 2:
$role='Manager';
break;
case 3:
$role='Professor';
break;
case 4:
$role='Student';
break;
default:
$role='';
}
return $role;
}