我有一个表单类型,我将添加一个实体,并添加多个属性
$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))
不能,属性只允许string
作为参数:http://symfony.com/doc/master/reference/forms/types/entity.html#property
在您的情况下,解决方案是将property
留空,然后在您的实体中实现__toString()
方法。
首先改变你定义表单类型的方式(传递一个空白值给属性):
$builder ->add('number', 'entity', array(
'class' => 'TelnOperatorBundle:Numberrange',
'multiple' => false,));
第二,在TelnOperatorBundle:Numberrange
实体中定义__toString()
函数:
public function __toString()
{
return $this->De . ' : ' . $this->A;
}