Ho un problema con l'override di un'entità. Ho bisogno che il campo emailCanonical
non sia univoco.Symfony2 FOSUserBundle Override campo entità utente
Ecco quello che ho fatto: Nel mio UserBundle\Resources\config\doctrine\User.orm.xml
ho aggiunto la seguente configurazione attribute-overrides
, in base alla documentazione Doctrine2
<attribute-overrides>
<attribute-override name="emailCanonical">
<field column="email_canonical" unique="false" name="emailCanonical" />
</attribute-override>
</attribute-overrides>
Poi ho eseguito il seguente console comanda
$ php app/console doctrine:migrations:diff
$ php app/console doctrine:migrations:migrate
Tutto ha funzionato bene. emailCanonical
è stato reso non unico. Ma ora, quando ho bisogno di generare un'entità in altri fasci di progetto, ho una strana errore:
$ php app/console doctrine:generate:entities SkyModelsBundle:Category
Generating entity "Sky\Bundle\ModelsBundle\Entity\Category"
[Doctrine\ORM\Mapping\MappingException]
Invalid field override named 'emailCanonical' for class 'Sky\Bundle\UserBundle\Entity\User'.
doctrine:generate:entities [--path="..."] [--no-backup] name
Tuttavia, se tolgo le impostazioni di override dalla mappatura XML, tutto funziona bene.
non sono sicuro, qual è la tua domanda. –
Ecco come l'ho risolto .. puoi provare questo: http://stackoverflow.com/a/17059918/2342137 – Tim
Ho lo stesso problema. Ho usato le annotazioni per sovrascrivere lo stesso attributo e non ho capito che c'era un problema fino a quando non ho provato a usare doctrine: generate: entity. Hai mai trovato una soluzione? – d0001