我的格式为$form->add('choix',ChoiceType::class, array(
'choices' => $voila ,
'multiple'=>false,'label'=>$nom,'expanded'=>true));
的返回码有问题:
public function
setChoix(\AppBundle\Entity\Magasin\Caracteristique\ChoixCaracteristique
$choix = null)
{
$this->choix = $choix;
return $this;
}
此代码调用实体中的setChoix()函数:
$form->add('choix', EntityType::class, array(
'class' => 'AppBundle:Magasin\Caracteristique\ChoixCaracteristique',
'choices' => $choix,
'placeholder' => 'Choix',
'label' => $label,
'required' => false
));
之前,我没有使用ChoiceType而是使用EntityType,因此,它起作用了:
AppBundle:Magasin\Caracteristique\ChoixCaracteristique
我的问题是“
如何CAST ChoiceType以避免类型问题 (EntityType使用{{1}}类型,因此可以使用)
感谢您的帮助!
答案 0 :(得分:0)
为什么要将ChoiceType用于实体?真奇怪。 :)
如果您想使用ChoiceType,可以在提交后ChoixCaracteristique
权限中使用DataTransformer进行转换选择:https://symfony.com/doc/current/form/data_transformers.html
答案 1 :(得分:0)
在我的EntityType中,我只是添加了这些选项:
'multiple' => false,
'expanded' => true,
让它发挥作用