Laravel从softdelete获得关系

时间:2016-04-04 06:11:56

标签: php laravel soft-delete

我有两张桌子,

user
intern

用户belongsTo实习生和国际hasOne用户。我的问题是,当我软删除user记录和相关的intern记录时。而且我想恢复它我再也找不到相关的实习生了。

所以当我找到这样的用户时:

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

然后说$user->intern结果为空,因为它无法找到intern

Trying to get property of non-object

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

检查用户是否存在。如果可以,做任何你想做的事。

这是代码

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

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

答案 1 :(得分:0)

要从用户对象获取软删除的intern对象,请尝试以下操作:

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