我想做一个显示从1960年到今年的选择,所以在我提交之后我应该有一个字符串如:1989.
我试过这样但它不起作用:
->add('years', 'date', array(
'widget' => 'choice',
'format' => 'yyyy-MM-dd',
'years' => range(date('Y'), date('Y') - 30, -1)))
Run Code Online (Sandbox Code Playgroud)
这很容易.
如果在提交表单后你想要一个年份字符串,那么自1960年以来就生成一系列年份,如下所示:
class MyClassType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('year',
'Symfony\Component\Form\Extension\Core\Type\ChoiceType',[
'choices' => $this->getYears(1960)
])
# or (for symfony <= 2.7):
# ->add('year', 'choice', ['choices' => $this->getYears(1960)])
;
}
private function getYears($min, $max='current')
{
$years = range($min, ($max === 'current' ? date('Y') : $max));
return array_combine($years, $years);
}
}
Run Code Online (Sandbox Code Playgroud)
模板:
表格提交后:
| 归档时间: |
|
| 查看次数: |
779 次 |
| 最近记录: |