Laravel - переменная даты не сохраняет свое первоначальное значение - PullRequest
0 голосов
/ 06 ноября 2018

Вот примерный пример моего кода:

$start_date = '01/02/2003';

for($i=1 ; $i<3 ; $i++){

$expiration_date = $start_date->addMonth(12);

}

dump($expiration_date ); //outputs 01/02/2005
dd($start_date); //outputs 01/02/2005

Мой вопрос заключается в том, почему моя переменная start_date также становится такой же, как и переменная expiration_date.

Мне нужно, чтобы начальная дата в конце цикла по-прежнему имела исходное значение 01.02.2003.

1 Ответ

0 голосов
/ 06 ноября 2018

Когда вы запускаете addMonth методы для объекта Carbon, он обновляет сам объект. Вот что вам нужно сделать:

$expiration_date = $start_date->copy()->addMonth(12);

copy создает новый объект Carbon

Ознакомьтесь с документацией

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