2015-02-10 25 views
1

我需要像例子返回用户的电子邮件:Laravel雄辩无法获得属性当我使用查找

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

当我使用$这 - > 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)。

+0

也许尝试'$这个 - >属性[ 'used_by']',而不是'$这个 - > used_by' – lukasgeiter 2015-02-10 12:15:33

+0

它仍然相同的错误 – mertindervish 2015-02-10 12:17:16

+1

是否有可能一个邀请在'used_by'中没有分配有效的用户。所以整件事都因为一件事而崩溃了? – lukasgeiter 2015-02-10 12:19:37

回答

1

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

为了避免这样的错误在未来,添加一个空检查:

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