因此,我试图将变量从Symfony 4.3项目中的控制器传递给表单...我试图设置选项解析器,传递数组...我仍然没有运气,'option“ 0”没有存在....'
在configureOptions中将变量定义为setDefaults,然后setRequired从createForm(ThingType :: class,$ thing,array('my_option'=> $ myOption))中的控制器传递一个array()类型
从控制器:
$form = $this->createForm(PieceEditType::class, $piece, ['pieceId'=> $piece->getId()]);
从表单方面:
* @param FormBuilderInterface $builder
* @param array $options
*
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$pieceId = $options['pieceId'];
$builder
->add('full', FileType::class, [
'data_class' => null
])
->add('ordering', EntityType::class, [
'class' =>Image::class,
'choice_label' => 'ordering',
'query_builder' => function (ImageRepository $er){
return $er->findByPieceAndReturnOrdered($pieceId);
}
])
;
}
/**
* @param OptionsResolver $resolver
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => …Run Code Online (Sandbox Code Playgroud) symfony ×1