无法找到与“SomeBundleFolder someclass”类实体关联的对象管理器


Unable to find the object manager associated with an entity of class "SomeBundleFolderSomeClass"

使用Symfony 2.7,我试图创建一个用户注册表单。我使用了Symfony自己的指南,并且可以渲染和填充表单。

当我填写表格,并按下"注册",我得到以下错误:

Unable to find the object manager associated with an entity of class "UserBundle'Models'User"

vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php at line 75

中的下列条件下触发
$em = $this->registry->getManagerForClass(get_class($entity));
        if (!$em) {
            throw new ConstraintDefinitionException(sprintf('Unable to find the object manager associated with an entity of class "%s".', get_class($entity)));
        }

在我的UserController的createAction中,实体管理器是由$em = $this->getDoctrine()->getManager();按照Symfony Cookbook中的指令获取的。

我不知道这里发生了什么。任何帮助,感谢!

同时,请让我知道是否有一些信息缺失,我应该提供。

我认为除非你在你的配置中特别映射一个目录,否则doctrine将会在YourBundle/Entity中查找-这是你的User.php示例与cookbook菜谱不同的地方。

如果你想改变这个,你需要根据文档

明确地指定它

或者只是把你的用户模型转移到'Entity而不是'Models,我想它会好的。