如何传递实体属性值以形成Symfony2?

时间:2014-05-09 12:37:40

标签: php forms class symfony attributes

我有一个表单类型:

$builder->add('paises', 'collection', array(
                'options' => array('data_class' =>'Acc\ApssBundle\Entity\Pais'),
                'prototype' => true,
                'type' => new PaisType(),
                ))  ;

如何将属性“name”添加到类Pais到标签表单??

在树枝上我有:

{%  for pais in form.paises %}

<col>   

    <td>{{ form_label(pais.name)  }}</td>


</col>

{% endfor %}    

非常感谢!!

2 个答案:

答案 0 :(得分:3)

又快又脏:

这不是解决方案,但您也可以这样做:<td>{{ pais.vars.data.name }}</td>

正确方法:

PaisType设置中,FormEvent表单是数据感知的:

$builder->addEventListener(FormEvents::POST_SET_DATA, function (FormEvent $event) {
    $pais = $event->getData();
    $form = $event->getForm();

    # Use concreate data tp construct form field
    $form->add('some_custom_field_with_custom_label', 'text', array('label' => $pais->getName()));
});

希望其中任何一个有所帮助;)

答案 1 :(得分:0)

在这里扩展@Jovan

FDC <- purrr::imap(listDF_zoo, ~fdc(.x, main=.y))