Doctrine不是有效实体或映射超类

时间:2016-05-13 08:58:51

标签: php orm doctrine-orm

我的教条有问题,我从自动生成的实体文件中获取此错误“类”用户“不是有效的实体或映射的超类。”。里面的文件和评论看起来很好我不知道为什么或我错过了什么? 一些代码

<?php

use Doctrine\ORM\Mapping as ORM;

/**
* Users
*
* @ORM\Table(name="users", uniqueConstraints={@ORM\UniqueConstraint(name="username", columns={"username"})})
* @ORM\Entity
*/

class Users
{
   /**
  * @var integer
  *
  * @ORM\Column(name="userid", type="integer", nullable=false)
  * @ORM\Id
  * @ORM\GeneratedValue(strategy="IDENTITY")
  */

  private $userid;

/**
 * @var string
 *
 * @ORM\Column(name="username", type="string", length=100, nullable=false)
 */
  private $username;

3 个答案:

答案 0 :(得分:0)

Doctrine 2注释映射可能已配置为否定对@ORM前缀的需要。

我会尝试用@ORM\替换@。例如@Entity

答案 1 :(得分:0)

据我所知,当doctrine无法找到实体时,会发生这些错误,请仔细检查命名空间,默认情况下symfony中的实体文件夹是“Entity”(大写!)。如果auto_mapping设置为true,也请检查配置文件。

答案 2 :(得分:0)

对我来说,这个问题在添加以下命名空间后解决了

use Doctrine\Common\Annotations\AnnotationReader;

在我的doctrine.php