在表单symfony2中添加多个属性

时间:2013-04-14 20:26:32

标签: php symfony

我有一个表单类型,我将添加一个实体并添加多个属性

$builder ->add('number', 'entity', array(
              'class'    => 'TelnOperatorBundle:Numberrange',
              'property' => 'De'
              'multiple' => false,));

在属性中我想添加另一个字段,即

$builder ->add('number', 'entity', array(
              'class'    => 'TelnOperatorBundle:Numberrange',
              'property' => 'De','A'
              'multiple' => false,));

我怎么能这样做?

->add('subnumbers', 'collection', array('type'         => new SubnumberType(),
                                              'allow_add'    => true,
                                              'allow_delete' => true))

1 个答案:

答案 0 :(得分:0)

您不能,属性仅允许string作为参数:http://symfony.com/doc/master/reference/forms/types/entity.html#property

您的案例中的解决方案是将property留空,然后在您的实体中实施__toString()方法。

首先更改您定义表单类型的方式(将空值传递给property):

$builder ->add('number', 'entity', array(
              'class'    => 'TelnOperatorBundle:Numberrange',
              'multiple' => false,));

其次,在__toString()实体中定义TelnOperatorBundle:Numberrange函数:

public function __toString()
{
    return $this->De . ' : ' . $this->A;
}