2017-08-06 4 views
0

Bonjour, je suis nouveau dans symfony. J'essaie de générer des entités à partir d'une base de données existante avec la doctrine. Quand je lance cette commande:Exception de doctrine - [Doctrine ORM Mapping MappingException]

php bin/console doctrine:mapping:import --force AppBundle xml 

Je reçois cette exception:

[Doctrine \ ORM \ Mapping \ MappingException]
propriété "boutique" dans "Bug" a déjà été déclarée, mais doit être déclaré une seule fois

J'ai essayé de rechercher d'autres solutions, mais je n'ai trouvé aucun élément. Comment puis-je résoudre ce problème?

Voici comment MySQL Workbench crée ma table:

CREATE TABLE IF NOT EXISTS `db`.`bug` (
`id_bug` INT(11) NOT NULL AUTO_INCREMENT, 
`bug_name` VARCHAR(200) NOT NULL, 
`comment` VARCHAR(1000) NOT NULL, 
`status` INT(11) NOT NULL DEFAULT '0', 
`customer_id` VARCHAR(255) CHARACTER SET 'utf8' NOT NULL, 
`shop_id` VARCHAR(255) CHARACTER SET 'utf8' NOT NULL, 
`admin_id` VARCHAR(255) CHARACTER SET 'utf8' NOT NULL, 
PRIMARY KEY (`id_bug`), 
INDEX `fk_bug_customer1_idx1` (`customer_id` ASC), 
INDEX `fk_bug_shop1_idx` (`shop_id` ASC), 
INDEX `fk_bug_admin1_idx1` (`admin_id` ASC), 
CONSTRAINT `fk_bug_customer1` 
FOREIGN KEY (`customer_id`) 
REFERENCES `db`.`customer` (`id`) 
ON DELETE NO ACTION 
ON UPDATE NO ACTION, 
CONSTRAINT `fk_bug_shop1` 
FOREIGN KEY (`shop_id`) 
REFERENCES `db`.`shop` (`id`) 
ON DELETE NO ACTION 
ON UPDATE NO ACTION, 
CONSTRAINT `fk_bug_admin1` 
FOREIGN KEY (`admin_id`) 
REFERENCES `db`.`admin` (`id`) 
ON DELETE NO ACTION 
ON UPDATE NO ACTION) 
ENGINE = InnoDB 
DEFAULT CHARACTER SET = latin1; 

Je travaille dans symfony 3.3, MySQL et php7.

Merci.

+0

S'il vous plaît poster la structure de table de 'bug' –

+0

Voici comment MySQL Workbench creeates ma table et je ne le font pas maintenant pourquoi les rencontres docrtine ce problème @JasonRoman – Joker84a

+0

Vérifiez votre définition XML pour l'entité Bug - cela ressemble vous avez défini la propriété 'shop' plus d'une fois. Postez ici si vous avez des doutes –

Répondre

0

Il y avait deux problèmes:

  1. tout d'abord il y avait un relaction en double sur le même enitity
  2. Ce ne fut pas le seul problème. Nous avons remarqué que dans la doctrine apparaît des problèmes quand il y a une clé primaire qui est aussi une clé étrangère, donc nous avons ajouté un nouveau champ id pour la clé primaire.