在Doctrine2 / Symfony2中创建索引会引发语义错误

时间:2012-03-04 19:28:04

标签: symfony doctrine-orm

我正在尝试使用注释为Doctrine2 / Symfony2中的表创建一个简单的索引,我收到以下错误:

  

[语义错误]从未导入类{My \ Namespaces \ Here}中的注释“@Index”。您是否忘记为此注释添加“使用”语句?

我在任何文档中都找不到我应该“使用”添加索引功能的命名空间。这是我的注释:

@ORM\Table(indexes={@Index(name="email_address_idx", columns={"email_address"})})

以下是我已经使用的命名空间:

use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints as DoctrineAssert;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;

我需要使用哪个命名空间来添加此功能?

2 个答案:

答案 0 :(得分:109)

看起来你需要:

@ORM\Table(indexes={@ORM\Index(name="email_address_idx", columns={"email_address"})})

答案 1 :(得分:16)

您可以使用以下方法解决问题:

use Doctrine\ORM\Mapping\Index;