格式化实体表单类型中的选项列表选项

时间:2012-07-02 12:00:21

标签: symfony symfony-forms symfony-sonata

我正在使用实体表单类型,基于选择,以便在Sonata管理表单中提供选项列表。我想要的是使用子属性来显示选择列表中的元素集合。

是否有人知道如何提供要在chocie列表中显示的标签或如何为选择列表数组提供格式?

    $formMapper->add( 'frArea', 'entity', array(
        'class'             => 'myVendor\myBundleBundle\View\myEntity',
        //When using a child property here, choice list gets corrupted/bad formatted
        //'property'            => 'child.property',
        'property'          => 'property',
        'em'                => 'formacions',
        'query_builder'     =>  function( EntityRepository $er )
                                {
                                    return $er->createQueryBuilder( 'qb' )
                                              ->add( 'select', 'm' )
                                              ->add( 'from', 'myVendor\myBundleBundle\View\myEntity m' );
                                              //->leftJoin('a.idiomes', 'ai');
                                },
        'required'          => false, 
        'label'             => ucfirst( $this->trans( 'my_label', array(), $this->translationDomain, $this->langCode ) )
    ) );  

以下列方式'property' => 'child.property'使用属性选项时出现以下错误:

Neither property "nom" nor method "getProperty()" nor method "isProperty()" exists in class "Doctrine\ORM\PersistentCollection"

1 个答案:

答案 0 :(得分:1)

这是参数property的作用!无需向Symfony指示哪个字段是选项的值,它需要ID列,因此property用于显示;)