在字符串上调用成员函数canBeViewed()

时间:2019-09-05 17:05:30

标签: php laravel

我正在尝试创建一个修复程序,使我的用户可以更改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

1 个答案:

答案 0 :(得分:0)

确保$call_centerCallCenter类的 INSTANCE ,而不仅仅是类名

$call_center = new CallCenter(); // Initialize the instance
if (!$call_center->canBeViewed(Auth::user())) {
    return abort(403, 'Forbidden');
}

上面的示例很可能不起作用

我最好的猜测是$call_centerModel

因此,在您的DashboardController.php文件中,找到要查询的$call_center,并确保没有将其分配给属性而不是对象

基于我的心理技能的假设代码

通过类似的方法更改代码

$call_center = CallCenter::where('location', 'Mumbai')->first()->name;

像这样

$call_center = CallCenter::where('location', 'Mumbai')->first();
相关问题