如何修复类不是有效的实体或映射的超类?

use*_*357 5 php doctrine symfony

所以我试图我们自己的网站关注symfony2的教条教程,并在我们的网站User之后对我的实体进行建模Product.

此外,在任何人将此标记为重复之前,我已经尝试过在许多其他问题中给出的解决方案而没有运气:

而这样的例子不胜枚举

我有我的实体类:

<?php
    namespace MySite\MyBundle\Entity;

    use Doctrine\ORM\Mapping as ORM;

    /**
     * @ORM\Entity
     * @ORM\Table(name="user")
     */
    class User
    {
        /**
         * @ORM\Column(type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;

        /**
         * @ORM\Column(type="string", length=100)
         */
        protected $name;

        /**
         * @ORM\Column(type="string", length=64)
         */
        protected $password;
    }
?>
Run Code Online (Sandbox Code Playgroud)

现在,我正在运行命令:

$ php app/console doctrine:generate:entities MySite/MyBundle/Entity/User
Run Code Online (Sandbox Code Playgroud)

生成访问器方法.但是,当我这样做时,我收到错误:

[Doctrine\ORM\Mapping\MappingException]
Class "MySite\MyBundle\Entity\User" is not a valid entity or mapped super class.
Run Code Online (Sandbox Code Playgroud)

use*_*357 4

好吧,我自己想出来了。我的问题是我的 config.yml 错误。auto_mapping: true我的 config.yml 中缺少该行。

doctrine:
    # (dbal stuff here)

    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        auto_mapping: true
Run Code Online (Sandbox Code Playgroud)

添加后,一切都会自动生成php app/console doctrine:generate:entities MySite/MyBundle/Entity/User正常

  • 我遇到了和你完全相同的问题,从 Symfony2 书中生成一个简单的实体并失败。我确实检查了 auto_mapping 但它对我不起作用。唔。 (5认同)