我需要制作一个表单来创建同一实体的集合,但我不想为集合的每个条目重复所有字段(只有具有不同值的字段)。
想象一个Product
实体:
class Product
{
private $category;
private $name;
private $price;
}
我想要一个表单来同时创建多个Product
相同的实体category
。所以表单应该有一个字段,以及一个andcategory
的集合。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
在本例中)
谢谢!