0

Sonata Admin フォーム内に選択リストを提供するために、選択ベースのエンティティ フォーム タイプを使用しています。私が望むのは、子プロパティを使用して、選択リスト内の要素のコレクションを表示することです。

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

1 に答える 1

1

これがパラメータの役割propertyです。どのフィールドがオプションの値であるかを Symfony に示す必要はありません。これは ID 列を取得するpropertyため、表示に使用されます ;)

于 2012-07-02T13:49:54.757 に答える