学说2 多对多关系不救



我在教义2中的多对多关系有问题。即使关系存在,关系也不会持续存在。如果我在两个 foreach 循环中检查持久,则会返回正确的对象。

第一个类是文档。

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

第二类是约伯

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

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

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

添加函数工作正常。当我在我这样做之后循环浏览对象时,我可以看到它。

在我看来

,你只尝试更新关系的反面,而不是拥有的一面。

正如教义文件中指出的:

仅对关联的反侧所做的更改将被忽略。 确保更新双向关联的两端(或 从教义的角度来看,最少是拥有方)

相关内容

  • 没有找到相关文章

最新更新