我正在为一个雄辩的虚拟问题而苦苦挣扎。我有一个模型用户,该用户与模型(Like)有很多关系。
我正在通过其ID获取用户模型:
$likedUser = User::findorfail($user_id);
在代码的某个时刻,我正在做
if ($likedUser->likes->where(...)->count()) {
...
}
然后,我想返回没有喜欢的$ likedUser(在上面的Laravel的IF条件中添加)。我怎样才能做到这一点?如果我这样做,那是行不通的:
return response()->json([
'is_matched' => $isMatched,
'liked_user' => $likedUser,
], 200);
我很想拥有一个$likedUser->without('likes')
来删除Laravel添加的关系。我尝试进行$outputUser = $likedUser->replicate()
,但是模型的唯一字段消失了。
1)仅返回不带用户关系的User模型的优雅方法是什么?
2)为什么即使我从不设置变量而仅在IF中使用变量,Laravel为什么还要添加关系?
非常感谢您的陪伴!