我正在为过滤的实体集合显示一个html表,我希望在每一行中显示一个复选框作为表单的一部分,该表单将选定的实体添加到会话变量中.
我认为每个复选框都应该有实体id作为其值,我将从表单字段数据中获取一个id数组(好的,所以值应该是对实体的间接引用,但是为了简单).
我尝试创建一个带有单个实体类型字段的表单Type,映射到实体的id属性并嵌入另一个具有集合类型字段的表单Type中.
class FooEntitySelectByIdentityType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('foo_id', 'entity', array(
'required' => false,
'class' => 'MeMyBundle:FooEntity',
'property' => 'id',
'multiple' => true,
'expanded' => true
));
}
# ...
Run Code Online (Sandbox Code Playgroud)
和
class FooEntitySelectionType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('identity', 'collection', array(
'type' => new FooEntitySelectByIdentityType,
'options' => array(
'required' => false,
'multiple' => true,
'expanded' => true,
'attr' => array('class' => 'foo')
),
));
}
# ...
Run Code Online (Sandbox Code Playgroud)
在控制器中,使用一组实体作为初始数据创建表单 …