Показать последний год в поле выбора типа - PullRequest
0 голосов
/ 13 июня 2019

Я хочу отобразить в поле года (поле выбора типа) только последний год (каждый год он выберет только год назад)

чтобы извлечь последний год, который я использовал: $year= date("Y")-1;

но как я могу поместить это в buildForm: и 'Year' будет заменен также на последний год, не отображающий слово year

$builder->add('year', ChoiceType::class, array(
'choices'  => array(
    'Year' => '$year=  date("Y")-1)'));

1 Ответ

0 голосов
/ 13 июня 2019

Я бы пошел на этот oneliner:

$oneYearAgo = (new \DateTime('1 year ago'))->format('Y');

или то же самое на 2 строки

$oneYearAgo = new \DateTime('1 year ago');
$oneYearAgo = $oneYearAgo->format('Y');

Или другой подход

$dateTime = new \DateTime();
$dateTime->sub(new \DateInterval('P1Y'));
$oneYearAgo = $dateTime->format('Y');

Как вкладчик:

$oneYearAgo = (new \DateTime())->sub(new \DateInterval('P1Y'))->format('Y')

И чтобы ответить на ваш вопрос:

$oneYearAgo = (new \DateTime('1 year ago'))->format('Y');

$builder->add('year', ChoiceType::class, [
    'choices'  => [
        $oneYearAgo => $oneYearAgo,
    ],
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...