В коде, который вы показали, $deck
в успешном ответе не будет отображать связанных карточек, потому что вы никогда не загружали отношения в колоду.Вы обратились к запросу о взаимосвязи, чтобы добавить новую карточку, но на самом деле вы никогда не выполняли запрос, чтобы получить карточки для колоды.
Однако использование with
для загрузки исходных карточек тоже вам мало поможет.,В ваш ответ войдут оригинальные карточки, но не будет добавлена новая.Изменение связанных записей не влияет на записи, которые уже загружены.
В этом случае, после того, как вы прикрепите новую карту к связанным картам колоды, вам потребуется перезагрузить отношения, чтобы карта отображалась вответ.
// Add the card to the deck.
$deck->playCards()->attach($play_card);
// Load (or reload) the new set of related playcards. This will populate
// the $deck->playCards attribute so it will show up in your response.
$deck->load('playCards');
В примечании к стороне нет причин сохранять $deck
.Вы ничего не изменили на этом.Если вы пытаетесь обновить временную метку updated_at
на деке, это все равно не сработает, поскольку фактически не обновит поля, если модель не загрязнена.Однако, если это ваша цель, вы можете использовать метод touch()
($deck->touch()
).