У меня есть модель, подобная следующей:
User extends Authenticatable
{
protected $appends = array('role');
public function getRoleAttribute()
{
$role = DB::table('acl_user_has_roles')->where('user_id', $this->id)
->value('role');
return $role;
}
}
Когда я пытаюсь ссылаться на этот атрибут foo следующим образом:
$user = User::find(1);
unset($user->id); // This line causes the problem.
echo $user->role;
Я всегда получаю «ноль» вместо ожидаемого «Владелец».
Что мне здесь не хватало?
Я запускаю это в laravel 5.5.43.
В следующей записи упоминалась функция getKey (), которая не работала.
Проблема на самом деле вызвана чем-то другим, как описано в следующем medium post .