使用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中的说明提取。
我无法知道这里发生了什么。任何帮助表示赞赏!
另外,如果我遗漏了一些信息,请告诉我。
答案 0 :(得分:1)
我认为除非你专门在你的配置中映射一个目录,否则doctrine会在YourBundle / Entity中查找 - 这是你的User.php示例与cookbook配方不同的地方。
如果您想更改此设置,则需要根据the documentation
明确指定或者只是将您的用户模型转移到\ Entity而不是\ Models,我认为它会没问题。