0

エンティティの選択フィールドのリストを作成し、各選択に複数の値を表示しようとしています。

エンティティ型で試してみたのですが、toStringの値しか表示されません。しかし、名前、説明、価格、画像を表示したい。

public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder->add('entityFields', 'entity' , array(
        'class' => 'Organisation\\MyBundle\\Entity\\MyEntity',
        'expanded' => true,
        'multiple' => true,
        'required' => true,
        'label' => 'myLabel',
        'query_builder' => function (Repository $repository) {
            return $repository->createQueryBuilder('e')
                    ->where('e.isActive = true');
        },
    ));
}

誰かがアイデアを持っていますか?この問題を帳票システムだけで解決することは可能でしょうか? Symfony 2.3 を使用しています。手伝ってくれてありがとう

4

1 に答える 1

1

propertyオプションを追加する

例えば:

public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder->add('entityFields', 'entity' , array(
        'class' => 'Organisation\\MyBundle\\Entity\\MyEntity',
        'expanded' => true,
        'multiple' => true,
        'required' => true,
        'label' => 'myLabel',           
        'query_builder' => function (Repository $repository) {
            return $repository->createQueryBuilder('e')
                    ->where('e.isActive = true');
        },
        'property' => 'customName'
    ));
}

そしてエンティティで:

public function getCustomName() {
    return $this->name.' '.$this->otherColumn; // etc
}
于 2013-08-08T14:12:14.620 に答える