Laravel从softdelete获得关系

问题描述 投票:3回答:2

我有2张桌子,

user
intern

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

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

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

然后说$user->intern结果是null因为它找不到intern

Trying to get property of non-object

我怎么能解决这个问题?

php laravel soft-delete
2个回答
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()
© www.soinside.com 2019 - 2024. All rights reserved.