我想在Symfony中创建表格,并且选择字段仅用几个月填充。
我有类似的东西:
$builder
->add('month','date', array(
'widget' => 'choice',
));
我有一天|一个月年选择。
我为什么需要它?
我想选择月份,然后按按钮后我想从数据库中获取仅按所选月份排列的数据。 我需要数据库中的月份字典或日历吗?实体? 如何从此选择到存储库功能获取日期?
@edit以及如何用英语以外的其他语言显示月份?
感谢您的帮助。
答案 0 :(得分:0)
MonthChoiceType
:namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\OptionsResolver\OptionsResolver;
class MonthChoiceType extends AbstractType
{
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'label' => 'choose month',
'choices' => $this->getChoices()
));
}
protected function getChoices()
{
$choices = array(
'January' => 1,
'February' => 1,
'March' => 1,
'April' => 1,
'May' => 1,
'June' => 1,
'July' => 1,
'August' => 1,
'September' => 1,
'October' => 1,
'November' => 1,
'December' => 1,
);
return $choices;
}
public function getParent()
{
return ChoiceType::class;
}
}
namespace App\Form;
use App\Form\MonthChoiceType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
class ExampleType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('month', MonthChoiceType::class)
->add('save', SubmitType::class)
;
}
}