簡體   English   中英

Doctrine2 ManyToMany關系不保存

[英]Doctrine2 ManyToMany-relation doesn't save

我對doctrine2中的ManyToMany關系有疑問。 即使存在關系,該關系也不會持久。 如果我再次檢查仍然存在於兩個foreach循環中,則返回正確的對象。

第一類是文檔。

class Document extends BaseEntity
{
    ....
    /**
     * @ORM\ManyToMany(targetEntity="Job", mappedBy="documents", cascade={"all"})
     * @ORM\JoinTable(name="job_document")
     */
     protected $jobs;
    ....

第二類是喬布

class Job extends BaseEntity
{
    ....
    /**
     * @ORM\ManyToMany(targetEntity="Document", inversedBy="jobs", cascade={"all"})
     * @ORM\JoinTable(name="job_document")
     */
    protected $documents;
    ....

在我的控制器中,執行以下操作:

$job->addDocument($document);
$document->addJob($job);
$em->persist($job);
$em->flush();

添加功能可以正常工作。 當我再次遍歷對象時,我可以看到它。

在我看來,您僅嘗試更新關系的相反方面,而不是關系的擁有方面。

原則文件中所指出:

僅對關聯的反面所做的更改將被忽略。 確保更新雙向關聯的雙方(或者從Doctrine的角度來看至少更新擁有方)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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