SYMFONY2参数1传递必须实现界面学说集合,给定的数组



我的形式具有3个Entites(Obras,Fechaobra和Horarioobra),具有一对一的关系。一个OBRA可能有许多Fechaobra,一个Fechaobra可能有许多Horarioobra。但是我按照symfony.com/doc/current/corbook/form/form/form_collections.html的形式做出了tha表单,但它给了我这个错误:

Catchable Fatal Error: Argument 1 passed to AcmeReservasBundleEntityFechaObra::setHorariosobra() must implement interface DoctrineCommonCollectionsCollection, array given, called in /var/www/html/grisar/entradas/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php on line 410 and defined

我已经将horariosobra定义为一个数组汇编,但它一直给我这个错误。

捆绑包的源代码在:github.com/javiermarcon/tickets/tree/master/src/src/acme/reservasbundle

有人知道为什么给我这个错误吗?谢谢

从setter方法中删除强大的键入 DoctrineCommonCollectionsCollection

public function setHorariosobra($horariosobra)
{
    // Be sure to "use" ArrayCollection class
    $this->horariosobra = new ArrayCollection($horariosobra);
    foreach ($horariosobra as $horarioobra) {
        $horarioobra->setObra($this);
    }
}

应该解决问题。请记住,Forms组件不必知道Doctrine - 完全由您执行对实体的使用。因此,提交给Setter方法的数据是通用数组,而不是DoctrineCollection

相关内容

  • 没有找到相关文章

最新更新