簡體   English   中英

具有一對多的Doctrine ArrayCollection會引發錯誤

[英]Doctrine ArrayCollection with one-to-many throws an error

堅持一對多關系時,我從教義中得到一個錯誤。 我在這里看到了類似的問題,但是不幸的是,答案並沒有幫助。

這是錯誤:

<b>Fatal error</b>:  Uncaught exception 'Doctrine\ORM\ORMInvalidArgumentException' with message 'Expected value of type &quot;Doctrine\Common\Collections\Collection|array&quot; for association field &quot;Entities\Scripts#$ScriptsVersions&quot;, got &quot;Entities\ScriptsVersions&quot; 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM