当我尝试
时出错$b = new B();
$a->addB($b);
$entityManager->persist($a);
因为我首先需要坚持$ b,但是我不能这样做,所以我需要设置级联:坚持我相信。我在文档中找不到如何使用yaml模式执行此操作。 Documentation不包括这部分内容(我也在文档的其他地方尝试过)
干杯
答案 0 :(得分:18)
这对我有用
oneToMany:
products:
targetEntity: Name
mappedBy: product
cascade: ["persist"]
答案 1 :(得分:0)
如果A类有一个关联,比如一对多到B,而A中的ArrayCollection变量叫做$ bcollection,那么cascade = {“persist”}的YAML部分看起来像这样:
oneToMany:
bcollection:
targetEntity: Entities\B
cascade
- persist
mappedBy: contact
inversedBy: null
orphanRemoval: false
orderBy: null
答案 2 :(得分:0)
如果您尝试了cascade: ["persist"]
但仍然没有在这里工作,那就是原因。
截至2016-08-28,我目前正在使用最新版本的学说
学说persist
不再有效,因为已删除。
主要原因是您不应该更改已连接表的主键。如果你这样做了,为什么呢?
这就是在YML Doctrine 2中删除cascade persist
的原因。
参考:https://groups.google.com/forum/#!topic/doctrine-user/fdL7sgtjRM0