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
Можете ли вы дать больше информации об ошибке?, Я отправляю решение по тому, что, как я думал, ошибочно с вашим кодом –