无法找到与类“SomeBundle \ Folder \ SomeClass”的实体关联的对象管理器

时间:2015-07-21 21:47:22

标签: php symfony doctrine

使用Symfony 2.7,我正在尝试创建用户注册表单。我为此使用了Symfony's own guide,表单已呈现并可填写。

当我填写表格并按“注册”时,我收到以下错误。

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中的说明提取。

我无法知道这里发生了什么。任何帮助表示赞赏!

另外,如果我遗漏了一些信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

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

如果您想更改此设置,则需要根据the documentation

明确指定

或者只是将您的用户模型转移到\ Entity而不是\ Models,我认为它会没问题。