我正在学习Symfony2,我使用Doctrine2作为ORM。 除了一个错误,一切都很顺利。事实上,这个错误阻止了我,因为她也发生在每个页面和CLI中。
错误如下:
ErrorException: Warning: class_parents(): Class BumpMe\UserBundle\Entity\User does not exist and could not be loaded in /home/gp2mv3/www/bumpme/vendor/doctrine/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php line 223
用户实体位于UserBundle中,但我将其(文件)移动到另一个包(AppBundle)中。我重命名了文件和名称空间。 之后我删除了UserBundle而没有错误。
现在,经过大量的cli命令后,我就明白了......
我该如何解决这个问题? 这个错误来自哪里?
感谢。
答案 0 :(得分:1)
我发现了错误!
我忘记了app/config/config.yml
中的一个声明。
如果您遇到同样的错误,请重读每个文件,您可能会找到旧的未经编辑的声明。
# app/config/config.yml
fos_user:
db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
firewall_name: main
# Allows you to enter the new user entity
user_class: MyApp\Bundle\UserBundle\Entity\User
# Used to enter the new registration form
registration:
form:
type: myapp_user_registrationform
答案 1 :(得分:1)
我也有这个错误。
当我将用户从我的MainBundle移动到它自己的UserBundle(使用注释)时,我有一个旧的/Resources/config/doctrine/User.orm.yml
文件潜伏着
答案 2 :(得分:0)
有点过时了,但我遇到了同样的错误,所以检查了config.yml(我根据'install'进行编辑),这里是最后一行:'Acme'用户加载,也许这个帮助有人:
fos_user:
db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
firewall_name: main
user_class: Acme\UserBundle\Entity\User