Php Acc\ApssBundle\Entity\Suit类的对象无法转换为字符串
我用Symfony2制作了一个web应用程序,其中Pais有一个ArrayCollection of Suites: Pais: 适合 PaisSuitTypePhp Acc\ApssBundle\Entity\Suit类的对象无法转换为字符串,php,symfony,checkbox,entity,Php,Symfony,Checkbox,Entity,我用Symfony2制作了一个web应用程序,其中Pais有一个ArrayCollection of Suites: Pais: 适合 PaisSuitType $builder->add('suits', 'collection', array( 'options' => array('data_class' => 'Acc\ApssBundle\Entity\Suit'), 'prototype' => true
$builder->add('suits', 'collection', array(
'options' => array('data_class' => 'Acc\ApssBundle\Entity\Suit'),
'prototype' => true,
));
控制器:
$paises = array($es = new Pais(),
$it = new Pais(),
$mx = new Pais(),
$br = new Pais()
);
foreach ($paises as $pais){
$form[$i] = $this->createForm(new PaisType(),$pais);
$forms[ 'form'.(string)$i ] = $form[$i]->createView() ;
$i++;
}
细枝模板:
{% for suit in form0.suits %}
<td align = "center">{{ form(suit) }}</td>
{% endfor %}
{%用于form0.Suites%}
{{表格(诉讼)}
{%endfor%}
错误发生在细枝模板中 在您的
套装
类中定义一个\uuuu toString
方法,返回名称(使用您的属性),例如:
public function __toString() {
return (string)$this->xxx;
}
我要用另一个类CheckType来解决这个问题:
class CheckType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('check', 'checkbox',array('label'=> ' '));
}
public function getName()
{
return 'check';
}
}
并在PaisSuitType中指定类:
$builder->add('name','text')
->add('suits', 'collection', array(
'options' => array('data_class' => 'Acc\ApssBundle\Entity\Suit'),
'prototype' => true,
'type' => new CheckType(),
)) ;
与当前版本不同的是,$pais
orm中没有JoinColumn
class CheckType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('check', 'checkbox',array('label'=> ' '));
}
public function getName()
{
return 'check';
}
}
$builder->add('name','text')
->add('suits', 'collection', array(
'options' => array('data_class' => 'Acc\ApssBundle\Entity\Suit'),
'prototype' => true,
'type' => new CheckType(),
)) ;