Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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:

  • Not a valid entity or mapped super class
  • Doctrine class is not a valid entity or mapped super class
  • Symfony/Doctrine: Class is not a valid entity or mapped super class
  • symfony2 is not a valid entity or mapped super class
  • Symfony/Doctrine: Class is not a valid entity or mapped super class
  • "Class XXX is not a valid entity or mapped super class" after moving the class in the filesystem

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.
like image 564
bmargulies Avatar asked Oct 02 '22 00:10

bmargulies


1 Answers

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

like image 101
bmargulies Avatar answered Oct 21 '22 23:10

bmargulies