[英]Doctrine ArrayCollection with one-to-many throws an error
堅持一對多關系時,我從教義中得到一個錯誤。 我在這里看到了類似的問題,但是不幸的是,答案並沒有幫助。
這是錯誤:
<b>Fatal error</b>: Uncaught exception 'Doctrine\ORM\ORMInvalidArgumentException' with message 'Expected value of type "Doctrine\Common\Collections\Collection|array" for association field "Entities\Scripts#$ScriptsVersions", got "Entities\ScriptsVersions" instead.' in H:\SERVER\htdocs\10pages\www\php\Vendors\doctrine\orm\lib\Doctrine\ORM\ORMInvalidArgumentException.php:206
定義:
/**
* @OneToMany(targetEntity="Scripts", mappedBy="ScriptsVersions",cascade={ "persist","remove"} )
**/
protected $ScriptsVersions;
構造函數:
public function __construct() {
$this->ScriptsVersions = new \Doctrine\Common\Collections\ArrayCollection();
}
二傳手:
public function setScriptsVersions(ScriptsVersions $ScriptsVersions){
if(!$this->ScriptsVersions->contains($ScriptsVersions)){
$this->ScriptsVersions[] = $ScriptsVersions;
$ScriptsVersions->setScripts($this);
}
}
如果我在分配$ this-> ScriptsVersions類后轉儲該類,它說Doctrine\\Common\\Collections\\Collection
,但不知何故UnityOfWork獲取對象而不是ArrayCollection。
正如我在評論中提到的那樣,您粘貼的代碼中的targetEntity
沒有指向正確的實體類。 很高興我能幫上忙 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.