Как я могу скрыть отношение на модели Eloquent - PullRequest
0 голосов
/ 07 апреля 2019

Я борюсь с фиктивной проблемой 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?

Большое спасибо за ваше время, ребята!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...