满堂花醉三千客,一剑霜寒十四洲。这篇文章主要讲述Doctrine异常 - [DoctrineORMMappingMappingException]相关的知识,希望能为你提供帮助。
嗨,我是symfony的新手。
我正在尝试使用doctrine从现有数据库生成实体。当我运行此命令时:
php bin/console doctrine:mapping:import --force AppBundle xml
我得到这个例外:
【Doctrine异常 - [DoctrineORMMappingMappingException]】[学说 ORM 映射 MappingException] “Bug”中的属性“shop”已经声明,但必须只声明一次我试图寻找其他解决方案,但我没有找到任何解决方案。我怎么解决这个问题?
这就是mysql workbench创建我的表的方式:
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;
我在symfony 3.3,mysql和php7工作。
谢谢。
答案有两个问题:
- 首先,在同一实体上存在重复的关系
- 这不是唯一的问题。我们注意到,当主键也是外键时,doctrine会出现问题,因此我们为主键添加了一个新的字段id。
推荐阅读
- 使用从Jackson创建的对象在Android上使用OrmLite保存子集合
- 如何更改UWP app文件夹名称或路径()
- 是否可以在没有管理员权限的情况下安装.appxbundle(UWP / XAML应用程序)()
- PrimaryLanguageOverride在发布appxbundle中不起作用
- 如何在android中的接口回调内部传输数据
- 在ASP.NET MVC App中初始化AutoMapper v6时出错
- 可捕获的致命错误(类Proxies的对象 __ CG __AppBundleEntityModelo无法转换为字符串)
- 使用appcmd添加新的网站问题
- 根据PC更改app.config连接字符串