Задать вопрос
@mrdragon9000

Laravel как переопределить свойство объекта?

Есть такой простой код:
$offer = Offer::with([
    'countries' => function ($query) {
        $query->select('offer_countries.id', 'offer_countries.abbr');
    }
])->findOrFail($id);

Допустим я хочу из коллекции $offer->countries сделать массив только из id-шников каждой страны и переопределить это свойство. Как это сделать?
Вариант ниже не работает, $offer->countries при выводе остается неизменным:
$offer->countries = $offer->countries->map(function($country) {
    return $country->id;
});
return $offer;
  • Вопрос задан
  • 249 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
dump() перед map и после делали?
Прям таки неизменный?

return $offer;

может там что-то не то происходит после возврата?

map можно поменять на:
$offer->countries->pluck('id');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы