Я хочу взять все элементы коллекции, изменения Одно свойство (добавление месяцев) и подтолкнуть этот новый элемент в новую коллекцию. Код>, который должен быть затронут именно этот экземпляр, но не является. < /p>
С помощью этого кода: < /p>
Код: Выделить всё
while($thisInvoiceYear extendedInvoices->push($clonedInvoice);
$toSaveInvoice = $this->extendedInvoices->last();
$thisInvoiceYear = $this->getCurrentYear($toSaveInvoice);
$toSaveInvoice->Schedule->StartDate = Carbon::parse($toSaveInvoice->Schedule->StartDate)->addMonths($period);
unset($clonedInvoice);
}
Проблема в том, что каждое изменение, сделанное в $ tosaveinvoice , также влияет на исходный элемент сбора. После 3 итераций дата одинакова для всех элементов Extendendvoices и не должна быть:
< /p>
Я использую Laravel 5.2, но я думаю, что нет помощников, чтобы клонировать элемент коллекции. < /p>
< P> Вы знаете, почему Clone () не работает? Большое спасибо за вашу помощь.
Подробнее здесь: https://stackoverflow.com/questions/388 ... iginal-obj