从cookbook中尝试Symfony2示例时映射异常

时间:2012-06-07 15:20:28

标签: php symfony doctrine-orm

我刚刚开始学习Symfony2,我正在关注Symfony网站上的“The Cookbook”中的例子。

尝试从关于从数据库加载用户的章节(实体提供程序)(Link to the chapter)时,我收到以下错误:

MappingException: Class Acme\UserBundle\Entity\User is not a valid entity or mapped super class.

...并且无法找出我做错了。我确实认为我遵循了本章提供的所有步骤。

感谢您的帮助,

2 个答案:

答案 0 :(得分:1)

当我逐步修改整个代码时,我终于找到了问题。

我忘记在AppKernel.php中注册UserBundle。

答案 1 :(得分:0)

我有同样的问题。我看了symfony+Mapping error,但这个解决方案对我不起作用。然后我发现,Michi解决方案有效https://stackoverflow.com/a/10935672/2910183

所以,这就是我的所作所为:

  1. AppKernel.php中注册包:

    new Acme\UserBundle\AcmeUserBundle(),

  2. 创建此捆绑包(它只是FOS \ UserBundle \ FOSUserBundle的副本)并另存为src/Acme/UserBundle/AcmeUserBundle.php

    <?php
    namespace Acme\UserBundle;
    use Symfony\Component\HttpKernel\Bundle\Bundle;
    use Symfony\Component\DependencyInjection\ContainerBuilder;
    use Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass;
    use Doctrine\Bundle\MongoDBBundle\DependencyInjection\Compiler\DoctrineMongoDBMappingsPass;
    use Doctrine\Bundle\CouchDBBundle\DependencyInjection\Compiler\DoctrineCouchDBMappingsPass;
    class AcmeUserBundle extends Bundle {
    }