问题描述如题,egg-Sequelize无外键关系时(使用reference创建),使用include不能够查询多表相关数据。还请各位大神指教或使用association后,使用sync创建数据库时不产生外键也能绕过该问题。问题出现的环境背景及自己尝试过哪些方法感谢文章 相关API文档,关键词搜索(“没有约束的外键引用”)了解得知,使用reference可以避免创建外键关系,尝试使用app.sync生成库,发现无关系,项目重新运行,发现仍需要指向Model之间的关系链,如果不使用reference改用association,运行时会创建数据库外键,已猝。。相关代码/app/model/user.js
...
User.associate = () =>{
User.hasMany(app.model.UserRole); // 使用reference,再使用这句话,就创建外键了,郁闷。。
}
...你期待的结果是什么?实际看到的错误信息又是什么?使用sync生成数据库不产生外键且能够查询时候能够include多model查询。感谢感谢!
1 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
已解决,仔细查阅后发现所创建的外键是当删除和更新时发生联系,带着这个关键字去查英文原著api,发现有个constraints的属性,在创建hasOne/belongsTo等等关系的时候,在option将这个属性置false即可。
- 1 回答
- 0 关注
- 3838 浏览
添加回答
举报
0/150
提交
取消