使用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,我想它会好的。