ZF2 doctrineORM实体需要两次

时间:2014-03-13 13:08:13

标签: php orm doctrine-orm zend-framework2

有一个zf2骨架应用程序,带有一些实体的DoctrineORM,一切正常。

现在,当我尝试添加"类别"实体:

namespace Me\Entity;

use Doctrine\ORM\Mapping as ORM;

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


    /**
     * @var string
     * @ORM\Column(type="string", length=255, unique=true)
     */
    protected $name;

    public function getId()
    {
        return $this->id;
    }

    public function setId($id)
    {
        $this->id = (int)$id;
    }
    public function getName()
    {
        return $this->name;
    }
    public function setName($name)
    {
        $this->name = (string) $name;
    }
}

但是这给了我以下错误:

Fatal error: require_once(): Cannot redeclare class me\entity\category in App/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php on line 197

我认为这是因为Category.php需要两次。 所以我通过添加一个"后卫来获得临时解决方案。在Category.php中

 if (defined('CATEGORY_GUARD')) return;
define('CATEGORY_GUARD', true);

这有效,但当然不是它应该如何完成。 任何人都知道为什么这个实体需要两次?

  • 我没有在任何地方使用过类别实体
  • 第一次被要求为:category.php(正常c)第二次作为Category.php(大写C)

0 个答案:

没有答案