2015-02-10 27 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; 
}