当我使用查找时,Laravel Eloquent无法获取属性

时间:2015-02-10 12:14:11

标签: php laravel eloquent

我需要返回用户的电子邮件,例如:

public function getUserEmailAttribute()
{
    $user = User::find($this->used_by);
    return $user->email;
}

当我使用$ this-> used_by时,它会抛出这个错误:

Trying to get property of non-object (View: /home/mertindervish/Documents/school/app/views/admin/invitation/list.blade.php)

但是当我使用类似' 2',' 3'它的工作。我的代码有问题吗?我尝试了var_dump $ this-> used_by和它的返回字符串(1)。

1 个答案:

答案 0 :(得分:1)

事实证明,一个邀请没有有效的used_by值。

为防止将来出现此类错误,请添加空检查:

public function getUserEmailAttribute()
{
    $user = User::find($this->used_by);
    if(is_null($user)) return null;
    return $user->email;
}