gpt4 book ai didi

php - 鉴别器图中缺少的实体

转载 作者:行者123 更新时间:2023-12-04 19:42:57 24 4
gpt4 key购买 nike

我正在使用 Symfony 3.3.15Doctrine 2.5.14在运行 CentOS 7 的 Vagrant 虚拟机上设置, php 7.0.25mariaDB 5.5.56 .

我有几组具有单表继承的实体设置。我让 Doctrine 为我构建鉴别器图。由于某种原因,Doctrine 似乎并未将所有相关实体添加到鉴别器映射中。这发生在几组实体中。例如:

我有一个映射有 10 个实体的表,但是当我得到带有 $this->getDoctrine()->getManager()->getClassMetadata(ParentEntity::class) 的鉴别器映射时discriminatorMap 中只有 8 个条目大批。尝试加载页面时出现如下错误:

Entity 'ChildEntity' has to be part of the discriminator map of 'ParentEntity' to be properly mapped in the inheritance hierarchy. Alternatively you can make 'ChildEntity' an abstract class to avoid this exception from occurring.



这仅发生在我的开发机器上。我的代码在生产中运行(AWS 上的 CentOS 7)没有问题。

我认为这可能是缓存问题 like this但是我已经清除了 Symfony 缓存(并删除并重新创建了它),并且我还使用 console doctrine:cache:clear-metadata 清除了 Doctrine 缓存但没有任何改变。我还尝试将整个项目的权限设置为 0777但仍然没有运气。

有谁知道我为什么会收到这些错误以及如何修复它们?

最佳答案

我不确定确切的问题是什么,但升级到最新版本的 Vagrant (2.0.2) 和 VirtualBox (5.2.6) 可以解决这个问题。

关于php - 鉴别器图中缺少的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48486460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com