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

问题描述

如题,egg-Sequelize无外键关系时(使用reference创建),使用include不能够查询多表相关数据。还请各位大神指教
或使用association后,使用sync创建数据库时不产生外键也能绕过该问题。

问题出现的环境背景及自己尝试过哪些方法

  1. 感谢文章 相关API文档,关键词搜索(“没有约束的外键引用”)了解得知,使用reference可以避免创建外键关系,尝试使用app.sync生成库,发现无关系,项目重新运行,发现仍需要指向Model之间的关系链,

  2. 如果不使用reference改用association,运行时会创建数据库外键,已猝。。

相关代码

/app/model/user.js

    ...
    User.associate = () =>{
        User.hasMany(app.model.UserRole); // 使用reference,再使用这句话,就创建外键了,郁闷。。
    }
    ...

你期待的结果是什么?实际看到的错误信息又是什么?

使用sync生成数据库不产生外键且能够查询时候能够include多model查询。

感谢感谢!


HUWWW
浏览 3839回答 1
1回答

守着星空守着你

已解决,仔细查阅后发现所创建的外键是当删除和更新时发生联系,带着这个关键字去查英文原著api,发现有个constraints的属性,在创建hasOne/belongsTo等等关系的时候,在option将这个属性置false即可。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Node.js