形式「假」我有兩個實體A和B.設置多個=在多對多的關係Symfony2的
所以加入表單時之間的許多一對多的關係,爲了增加entityA
到entityB
,我做了以下內容:
$builder
->add('entityAs', 'entity', array(
'class' => 'xxxBundle:EntityA',
'property' => 'name',
'multiple' => true,
));}
而且一切正常。
但根據字段類型entityA的,我想有時設置「多」爲假,所以我做了以下內容:
if($type=='a'){
$builder
->add('entityAs', 'entity', array(
'class' => 'xxxBundle:entityA',
'property' => 'name',
'multiple' => true,
));}
else {
$builder
->add('entityAs', 'entity', array(
'class' => 'xxxBundle:entityA',
'property' => 'name',
'multiple' => false,
));
}
這給了我下面的錯誤:
Catchable Fatal Error: Argument 1 passed to Doctrine\Common\Collections\ArrayCollection::__construct() must be an array, object given, called in C:\wamp\www\Symfony\vendor\doctrine\orm\lib\Doctrine\ORM\UnitOfWork.php on line 519 and defined in C:\wamp\www\Symfony\vendor\doctrine\common\lib\Doctrine\Common\Collections\ArrayCollection.php line 48
任何人都可以幫助我嗎?
你確定錯誤是在這裏提出? – DonCallisto 2013-05-14 09:19:33
其實是@DonCallisto – user2269869 2013-05-14 09:21:07
我敢打賭不。我敢打賭,錯誤是進入你的實體:你期望有一個ArrayCollection,但你有一個單一的實體(對象),這會導致你的問題。 – DonCallisto 2013-05-14 09:36:17