Я борюсь с фиктивной проблемой Eloquent.У меня есть модель User, которая имеет отношение многие ко многим с моделью Like.
Я получаю свою модель пользователя по ее идентификатору с:
$likedUser = User::findorfail($user_id);
В некоторый момент в кодеЯ делаю:
if ($likedUser->likes->where(...)->count()) {
...
}
Затем я хочу вернуть моего $iledUser БЕЗ лайков (добавлено в условии IF выше Laravel).Как я могу это сделать?Если я это сделаю, это не сработает:
return response()->json([
'is_matched' => $isMatched,
'liked_user' => $likedUser,
], 200);
Я бы хотел иметь $likedUser->without('likes')
для удаления отношения, добавленного Laravel.Я попытался $outputUser = $likedUser->replicate()
, но уникальное поле моих моделей исчезает.
1) Каков элегантный способ вернуть мою модель User без ее отношения?
2) Почему Laravel добавляетотношение, даже если я никогда не устанавливал свою переменную, а использовал ее только в IF?
Большое спасибо за ваше время, ребята!