类xx中的注释@Doctrine \ ORM \ Mapping不存在,或者无法加载

时间:2014-11-07 14:15:44

标签: php symfony doctrine-orm doctrine

执行php app/console doctrine:generate:entities etBundle:Users时收到此错误消息:

[Doctrine\Common\Annotations\AnnotationException]
[Semantical Error] The annotation "@Doctrine\ORM\Mapping" in class Ampisoft\Bundle\etrackBundle\Entity\Users does not exist, or could not be auto-loaded.

我的实体类如下:

namespace Ampisoft\Bundle\etrackBundle\Entity;


 use Doctrine\ORM\Mapping as ORM;

 /**
 * @ORM/Entity
 * @ORM/Table(name="users")
 */
class Users
{
/**
 * @ORM/Column(type="integer")
 * @ORM/ID
 * @ORM/GeneratedValue(strategy="AUTO")
 */
protected $id;

/**
 * @ORM\Column(type="string", length=25, unique=true)
 */
protected $username;

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


/**
 * @ORM\Column(name="is_active", type="boolean")
 */
private $isActive;

/**
 * @ORM\Column(type="string", length=60, unique=true)
 */
protected $email;

/**
 * @ORM\Column(type="datetime")
 */
protected $lastLogged;
}

我环顾四周,找到了与类似问题相关但与属性相关的解决方案,还有一个与zend相关的解决方案,但与symfony2中的实际类别相关无关。

我已经使用composer安装并更新了所有供应商包。

有人能够指出我正确的方向吗?

我是symfony的新手。非常感谢

1 个答案:

答案 0 :(得分:22)

如果在注释名称中使用正斜杠(/)而不是反斜杠(\),则会出现此错误。也就是说,如果你这样做会发生错误:

/**
 * @ORM/Entity
 */

而不是正确的:

/**
 * @ORM\Entity
 */