user2443357 user2443357 - 1 month ago 8
PHP Question

How to fix class is not a valid entity or mapped super class?

So I'm trying to follow symfony2's tutorial on doctrine for my own website and modeling my

User
entity after their
Product
one.

Also, before anyone marks this a duplicate, I have already tried the solutions given in numerous other questions with no luck:



and the list goes on

I have my entity class:

<?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;
}
?>


Now, I'm running the command:

$ php app/console doctrine:generate:entities MySite/MyBundle/Entity/User


to generate the accessor methods. However, when I do this, I get the error:

[Doctrine\ORM\Mapping\MappingException]
Class "MySite\MyBundle\Entity\User" is not a valid entity or mapped super class.

Answer

Ok, I figured it out myself. My problem is that my config.yml was wrong. I was missing the auto_mapping: true line in my config.yml.

doctrine:
    # (dbal stuff here)

    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        auto_mapping: true

After adding that, everything auto-generates fine with the php app/console doctrine:generate:entities MySite/MyBundle/Entity/User line

Comments