0

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

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

    $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"
4

1 回答 1

1

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

于 2012-07-02T13:49:54.757 回答