У меня есть эта форма Symfony2:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add(
'nombre',
'text',
array(
'required' => true,
'mapped' => false,
'label' => 'Nombre'
)
)
->add(
'anno_modelo',
'choice',
array(
'placeholder' => 'Escoja una opción',
'choices' => array(),
'required' => true
)
)
->add(
'anno_fabricacion',
'choice',
array(
'placeholder' => 'Escoja una opción',
'choices' => array(),
'required' => true
)
);
}
и у меня есть этот код:
function getChoices() {
$choices = [];
for($i = date("Y"); $ >= 1900; $i--) {
$choices[$i - 1] = $i - 1;
}
return $choices;
}
Мне нужно использовать эти $choices
в качестве значения choices
, как я могу это достичь?
Попробуйте этот код:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$choices = $this->getChoices();
$builder
->add(
'nombre',
'text',
array(
'required' => true,
'mapped' => false,
'label' => 'Nombre'
)
)
->add(
'anno_modelo',
'choice',
array(
'placeholder' => 'Escoja una opción',
'choices' => $choices,
'required' => true
)
)
->add(
'anno_fabricacion',
'choice',
array(
'placeholder' => 'Escoja una opción',
'choices' => $choices,
'required' => true
)
);
}
private function getChoices()
{
$choices = [];
for($i = date('Y'); $i >= 1900; $i--) {
$choices[$i - 1] = $i - 1;
}
return $choices;
}
$range = range(date('Y'), 1900);
получить диапазон лет, а затем вернуть его с теми же ключами, что и значения, используя array_combine, напримерreturn array_combine($range, $range);
,