1
我在尝试检查用户是否在数据库中有角色时遇到问题。当我在模型外部执行时,它工作正常,但由于某种原因,当我需要在模型中执行此操作时,我得到“尝试获取非对象的属性”错误。这里是我的代码:试图获取非对象的属性。 Laravel 5.2
public function owed_amount() {
$user_total = $this->total_expenses();
$expenses = Expense::where('removed', false)->get();
$total = 0;
foreach ($expenses as $expense) {
$total += $expense->amount;
}
$total_users = 0;
$users = User::get();
foreach ($users as $user) {
if($user->has_role('is-payee')) //Error comes from here!
{
$total_users++;
}
}
$paid_in = $this->total_paid_in();
$got_paid = $this->total_got_paid();
$owed = $user_total - $total/$total_users + $paid_in - $got_paid;
return number_format($owed, 2);
}
public function has_role($data) { //Checking for role in database
$perm = Permission::where('data', $data)->first();
$ptg = PermissionToGroup::where([
'group_id' => $this->usergroup->id,
'perm_id' => $perm->id
])->first();
if($ptg===NULL){ return false; }
else{ return true; }
}
为您的帮助欢呼!
结果,如果有什么是$烫发没有结果=权限::在哪里(“数据”,$数据) - >第一(); –
我认为,但我加倍检查数据库,它肯定存在 – Imphusius
你可以提供有关错误的更多信息?,我发布了一个解决方案,我认为你的代码错误 –