【发布时间】:2017-03-23 20:20:14
【问题描述】:
我需要制作一个表单来创建同一实体的集合,但我不想为集合的每个条目重复所有字段(只有具有不同值的字段)。
想象一个Product 实体:
class Product
{
private $category;
private $name;
private $price;
}
我想要一个表单来同时创建同一个category 的多个Product 实体。
所以表单应该有一个category 字段,以及name 和price 的集合。
我的表单看起来像:
class ProductCollectionType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('category')
->add('products', CollectionType::class, array(
'entry_type' => ProductType::class,
'allow_add' => true,
'mapped' => false,
))
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => Product::class,
));
}
}
class ProductType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
->add('price')
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => Product::class,
));
}
}
有谁知道是否有一种方法可以用父字段自动填充集合类型中的所有实体? (本例中仅category)
谢谢!
【问题讨论】:
标签: symfony symfony-forms symfony-3.2