我是Doctrine2的新手,并使用以下命令从现有数据库创建了权限类:
.\vendor\bin\doctrine-module orm:convert-mapping --force --from-database annotation ./EXPORT/
现在我有了我的课程,他们看起来像这样:
<?php
namespace App\Model\Entity; // this line was not generated automatically
use Doctrine\ORM\Mapping as ORM;
/**
*
* Category
*
* @ORM\Table(name="category")
* @ORM\Entity
*/
class Category
{
/**
* @ORM\var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
....
看起来不错,但我不明白为什么在docblocks中的每个符号之前都使用了“@ORM”。 当我创建查询时,他们不工作,直到我删除这个“@ORM”bevore每个符号。 我错过了什么? 我没有使用任何框架(Zend / Symfony ......)。我只是使用“doctrine / orm”:“〜2.4”和作曲家。
祝你好运 迈克尔
答案 0 :(得分:0)
ORM引用顶部的命名空间快捷方式
use Doctrine\ORM\Mapping as ORM;
E.g。你也可以使用带有完整名称空间的Id注释:
/**
* @Doctrine\ORM\Mapping\Id
*/
除此之外,我建议您查看注释文档以使教义正确运行
(http://doctrine-common.readthedocs.org/en/latest/reference/annotations.html和 http://doctrine-orm.readthedocs.org/en/latest/reference/annotations-reference.html)