如何在口才模型上隐藏关系

时间:2019-04-07 15:27:24

标签: php laravel-5 eloquent model

我正在为一个雄辩的虚拟问题而苦苦挣扎。我有一个模型用户,该用户与模型(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为什么还要添加关系?

非常感谢您的陪伴!

0 个答案:

没有答案