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

Add the property option

For example:

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'
    ));
}

and in the Entity:

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