0

在教义协会参考手册中提到

当然,在正确的应用程序中,双向关联的语义由应用程序开发人员正确维护(这是他的责任)

我还没有找到关于开发人员应该如何维护这种关联的具体示例。任何帮助,将不胜感激。

4

1 回答 1

2

symfony 文档中有一个非常好的例子:http ://symfony.com/doc/master/cookbook/form/form_collections.html

页面中间的地方写着:

第二个潜在问题涉及教义关系的拥有方和反方 。在此示例中,如果关系的“拥有”方是“任务”,则持久性将正常工作,因为标签已正确添加到任务中。但是,如果拥有方位于“Tag”上,那么您需要做更多的工作来确保修改关系的正确方。

在这个特定示例中,您提到的学说文档将与实体代码的这一部分有关:

// src/Acme/TaskBundle/Entity/Task.php

// ...
public function addTag(ArrayCollection $tag)
{
    $tag->addTask($this);

    $this->tags->add($tag);
}

// src/Acme/TaskBundle/Entity/Tag.php

// ...
public function addTask(Task $task)
{
    if (!$this->tasks->contains($task)) {
        $this->tasks->add($task);
    }
}
于 2013-05-10T20:16:45.757 回答