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

Как изменить/унаследовать коллекцию в laravel?

Для более упорядоченного вывода в модель-биндинге добавляю упорядочивание по типам неких элементов.Добавляю цикл.И хочу изменить
SomeTable::with('SomeRelated')->find($id);
$element->SomeRelated//например

чтобы была еще одна вложенность по типам делаю таким образом
foreach($element->SomeRelated as $key=>$el)
{ 
    $element->SomeRelated[$el->some_id][$el->type]=$el;
}

Делаю вложенный массив
и ловлю
Indirect modification of overloaded element of Illuminate\Database\Eloquent\Collection has no effect

На сколько подсказали это означает
Это говорит о том, что твои измненения не будут сохранены, так как ты получаешь копию объекта а не его ссылку. Все, что ты задашь, просто потеряется.

Так вот как унаследовать или как то изменять по правильному?
  • Вопрос задан
  • 873 просмотра
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
У коллекций есть методы transform и groupBy. Возможно, вам подойдет один из них.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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