symfony2学说注释[语义错误]



我使用符号2和条令,得到以下错误:

[语义错误]属性Wibiya\WebsiteBundle\Entity\Rules::$RuleId中的注释"@Doctrine\ORM\Mapping\RuleId"不存在或无法自动加载。

Rules实体中包含列/字段。

    /**
     * @var integer $RuleId
     * @ORMRuleId
     * @ORMColumn(name="RuleId", type="integer")
     * @ORMGeneratedValue(strategy="AUTO")
     */
    private $RuleId;

这是我试图运行的功能:

$em = $this->getDoctrine()->getEntityManager();
$Rules = $em->getRepository('WibiyaWebsiteBundle:Rules')->findAllOrderedByName();

RulesRepository类:

    public function findAllOrderedByName()
    {
        return $this->getEntityManager()
            ->createQuery('SELECT p FROM WibiyaWebsiteBundle:Rules p ORDER BY p.RuleName ASC')
            ->getResult();
    }

我试着把这句话放在autoload.php:的底部

require __DIR__ . "/../vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php";

但是,我也犯了同样的错误
我使用的是Symfony 2.0.16和条令2.1.6

条令中没有RuleId注释,只有Id[参见文档]。

只需在主键字段上使用@ORMId即可定义所有实体。

@ORMId只是原则映射中主键字段的注释,它与MySql表中主键的列名无关。您可以保留主键字段的任何名称,并在映射中将其指定为@ORMColumn(name="column_name", type="integer")

相关内容

  • 没有找到相关文章

最新更新