我正在尝试创建一个修复程序,使我的用户可以更改URL并查看该用户拥有的数据以外的数据。我创建了几个函数,但在我的dashboardcontroller.php上遇到此错误。有什么想法吗?
d2
dashboard.php
if (!$call_center->canBeViewed(Auth::user())) {
return abort(403, 'Forbidden');
}
user.php
public function hasPermission($role_id): boolean
{
$role_id = $this->roles()->where('user_id', '=', $user_id)->firstOrFail();
if ($role_id['id'] == '2' || $role_id['id'] == '3' || $role_id['id'] == '4') {
return true;
} else {
return false;
}
}
Callcenter.php
答案 0 :(得分:0)
确保$call_center
是CallCenter
类的 INSTANCE ,而不仅仅是类名
$call_center = new CallCenter(); // Initialize the instance
if (!$call_center->canBeViewed(Auth::user())) {
return abort(403, 'Forbidden');
}
上面的示例很可能不起作用
我最好的猜测是$call_center
是Model
因此,在您的DashboardController.php
文件中,找到要查询的$call_center
,并确保没有将其分配给属性而不是对象
通过类似的方法更改代码
$call_center = CallCenter::where('location', 'Mumbai')->first()->name;
像这样
$call_center = CallCenter::where('location', 'Mumbai')->first();