在教条协会reference manual中提到了
当然,在正确的应用程序中,双向关联的语义由应用程序开发人员正确维护(这是他的责任)
我无法找到关于开发人员应如何维护此关联的具体示例。任何帮助将不胜感激。
答案 0 :(得分:2)
symfony文档中有一个非常好的例子:http://symfony.com/doc/master/cookbook/form/form_collections.html
在页面中间附近声明:
第二个潜在问题涉及Owning Side and Inverse Side 的学说关系。在这个例子中,如果是“拥有”的一面 关系是“任务”,然后持久性将正常工作 标签已正确添加到任务中。但是,如果拥有一方 “标签”,那么你需要做更多的工作来确保这一点 关系的正确方面被修改。
在这个特定示例中,您提到的学说文档将与实体代码的这一部分相关:
// 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);
}
}