EasyAdmin 3 - CollectionField 添加表单条目类型选项?

ero*_*onn 6 php forms collections symfony easyadmin

在我的 CRUD 控制器中,我有一个 CollectionField,它有一个引用 formType 的 entryType 选项

\n
yield CollectionField::new(\'drinks\', \'Boissons\')\n  ->setFormTypeOption(\'by_reference\', false)\n  ->setEntryType(CommandProductItemType::class);\n
Run Code Online (Sandbox Code Playgroud)\n

命令产品项目类型

\n
    public function buildForm(FormBuilderInterface $builder, array $options)\n    {\n\n        $builder\n            ->add(\'product\', EntityType::class, [\n                \'label\' => \'Produit\',\n                \'class\' => Product::class,\n                \'choice_label\' => \'namePrice\',\n            ])\n            ->add(\'quantity\', IntegerType::class, [\n                \'label\' => \'Quantit\xc3\xa9\',\n                \'attr\' => [\n                    \'min\' => 1\n                ]\n            ])\n        ;\n    }\n\n    public function configureOptions(OptionsResolver $resolver)\n    {\n        $resolver->setDefaults([\n            \'data_class\' => CommandProductItem::class,\n            \'category\' => Category::class\n        ]);\n    }\n
Run Code Online (Sandbox Code Playgroud)\n

如何将类别选项从CollectionField项传递到CommandProductItemType

\n

FAj*_*jir 1

您必须编辑CollectionType 字段中的entry_options 选项

yield CollectionField::new('drinks', 'Boissons')
  ->setFormTypeOption('entry_options', ['by_reference' => false])
  ->setEntryType(CommandProductItemType::class);
Run Code Online (Sandbox Code Playgroud)