Php Symfony2嵌入表单-获取实体字段
我有一个具有多对多关联的实体。Php Symfony2嵌入表单-获取实体字段,php,symfony,twig,entity-relationship,Php,Symfony,Twig,Entity Relationship,我有一个具有多对多关联的实体。 我想做的是: 为主实体创建表单 嵌入关联的实体 我已经能够做到以上两点,但现在我无法找出如何检索关联的实体字段 我的课程是Gallery和ImmagineIMAGINE有3个属性,图像、图像名称和文件 在GalleryType buildForm函数中,我执行以下操作: ->add('immagini', 'entity', array( 'class' => 'MySiteBundle:Immagine', 'property' =>
我想做的是:
- 为主实体创建表单
- 嵌入关联的实体
->add('immagini', 'entity', array(
'class' => 'MySiteBundle:Immagine',
'property' => 'image',
'multiple' => true,
'expanded' => true
))
现在,在我的edit.html.twig模板中,如果我写这个
{% for img in edit_form.immagini %}
<li>
{{ form_widget(img, {'attr': {'style': 'vertical-align: top'}} ) }}
{{ form_label(img, null, { 'label_attr': {'style': 'display: inline'}} ) }}
</li>
{% endfor %}
{%for img in edit_form.immagini%}
{{form_小部件(img,{'attr':{'style':'vertical align:top'}}}}}
{{form_label(img,null,{'label_attr':{'style':'display:inline'}}}}}
{%endfor%}
…而且在库编辑页面中嵌入图像的结果是正确的,效果很好。现在,我要做的是在同一个li标记中显示另一个Immagine字段,比如imageName。 我试过很多方法,但我都做不到
有什么建议吗?您应该使用集合类型嵌入关联的实体,而不是像您那样使用实体类型
->add('immagini','collection',array('type'=>new ImageType(),'multiple'=>...,))
因此,您需要实现一个新的表单类,可以随意调用它,例如ImageType()。在该类类型中,添加您需要显示的任何表单类型(属性),例如
->add('imageName','text')
->add(...
这样您就可以从细枝代码中迭代并显示它了
查看基本表单嵌入文档:
…不,它不起作用。如果formBuilder中没有多个选项,它将显示单个Immagine的形式,而多个选项则表示“我”不存在。我不能调用entity方法来检索属性吗?