为了账号安全,请及时绑定邮箱和手机立即绑定

egg-Sequelize无外键关系时如何使用include获取多表数据

egg-Sequelize无外键关系时如何使用include获取多表数据

HUWWW 2018-12-16 15:12:02
问题描述如题,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即可。

查看完整回答
反对 回复 2018-12-16
  • 慕粉2131378388
    慕粉2131378388
    想请问一下是如何解决的,我也用的 reference ,但是用include 关联查询时会报模型没有关联
  • 1 回答
  • 0 关注
  • 3838 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信