La création D'Index dans Doctrine2 / Symfony2 génère une erreur sémantique

J'essaie de créer un index simple à une table dans Doctrine2 / Symfony2 en utilisant des annotations et j'obtiens l'erreur suivante:

[Erreur sémantique] l'annotation "@ Index " dans la classe {My Namespaces Here} n'a jamais été importée. Avez-vous peut-être oublier d'ajouter une instruction "use" pour cette annotation?

Je ne trouve dans aucune documentation quel espace de noms Je suis censé "utiliser" pour ajouter la fonctionnalité D'Index. Voici mon annotation:

@ORMTable(indexes={@Index(name="email_address_idx", columns={"email_address"})})

Et voici les les espaces de noms que j'utilise déjà:

use DoctrineORMMapping as ORM;
use SymfonyBridgeDoctrineValidatorConstraints as DoctrineAssert;
use GedmoMappingAnnotation as Gedmo;
use SymfonyComponentValidatorConstraints as Assert;

Quel espace de noms dois-je utiliser pour ajouter cette fonctionnalité?

33
demandé sur Dan 2012-03-04 23:28:04

2 réponses

On dirait que vous avez besoin de:

@ORM\Table(indexes={@ORM\Index(name="email_address_idx", columns={"email_address"})})
104
répondu rojoca 2012-03-04 19:43:11

Vous pouvez utiliser ce qui suit pour résoudre le problème:

use Doctrine\ORM\Mapping\Index;
14
répondu johnmadrak 2013-11-05 21:47:11