所以我在两个实体 A 和 B 之间有一个多对一对多的关系。要获取与一个特定 A 匹配的所有实体 B。C 是在 A 和 B 之间建立链接的类。
$bs = $this->getDoctrine()
->getEntityManager()
->getRepository('MyBundle:C')
->findByContact($a->getId());
所以这部分可能正在工作,但是当我执行它时会出现这个错误:
类 My\Bundle\Entity\My\Bundle\Entity\D 不存在
所以 D 是一个与 B 存在一对多关系的类。当存储库获取 B 的列表时调用它是很自然的。
但是为什么它会复制实体的路径呢?
注意:我已经搜索了 D 类的调用,但该路径在我的代码中的任何地方都不会重复。
编辑 :
在花了一段时间试图查看问题根源的路径之后,我终于发现了 Doctrine 注释路径之间的一个非常小的(但重要的)差异,它们基本上是:
我的\捆绑\实体\ D
以及在 php 本身中为类调用的路径,尤其是在 getter 和 setter 中:
\我的\捆绑\实体\ D
那个反斜杠已经让我在这里呆了很长时间,但现在一切都恢复了。问题解决了。