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

Dan*_*Dan 34 symfony doctrine-orm

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

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

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

@ORM\Table(indexes={@Index(name="email_address_idx", columns={"email_address"})})
Run Code Online (Sandbox Code Playgroud)

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

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;
Run Code Online (Sandbox Code Playgroud)

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

roj*_*oca 109

看起来你需要:

@ORM\Table(indexes={@ORM\Index(name="email_address_idx", columns={"email_address"})})
Run Code Online (Sandbox Code Playgroud)

  • @jitendra:只需在`column`列表中添加更多列名,例如:`@ORM\Table(indices = {@ ORM\Index(name ="email_address_idx",columns = {"email_address","username"})}) ` (2认同)

joh*_*rak 16

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

use Doctrine\ORM\Mapping\Index;
Run Code Online (Sandbox Code Playgroud)