Symfony表单:在选择字段中显示多个值

时间:2013-08-08 13:52:02

标签: forms symfony symfony-2.3

我试图创建一个实体的选择字段列表,每个选择都有多个显示值。

我尝试使用实体类型,但只显示了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。谢谢你的帮助

1 个答案:

答案 0 :(得分: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
}