2016-04-04 40 views
3

關係我有2個表,Laravel得到softdelete

user 
intern 

用戶belongsTo一個實習生,和一間hasOne用戶。我的問題是,當我軟刪除user記錄和相關的intern記錄。我想恢復它,我找不到相關的實習生了。

所以,當我找到這樣的用戶:

$user = user::onlyTrashed()->find($userId); 

然後說$user->intern結果爲空值,因爲它無法找到intern

Trying to get property of non-object 

我怎麼能解決這個問題?

+0

是否每一個丟棄的用戶肯定有一個實習生?你有兩個表上的軟刪除列嗎? – Jeemusu

+0

是的,我不是這個問題。 – Jamie

+0

哪個問題也是答案呢? – Jeemusu

回答

0

檢查用戶是否存在。如果有,做任何你想做的事情。

下面的代碼

$user = user::onlyTrashed()->find($userId); 

if(!is_null($user)) { 
    echo $user->intern; 
} else { 
    echo 'User does not exist!'; 
} 
0

爲了讓您的用戶對象的軟刪除intern對象,請嘗試以下操作:

$user->intern()->withTrashed()->get()->first()