我有两个模型,service
和type
。服务有许多类型和一个且唯一的默认类型。
使用Sequelize我正在尝试执行以下操作
// This part is working
Service.hasMany(Type);
Type.belongsTo(Service);
// This part is not
Type.hasOne(Service, { foreignKey: 'defaultTypeId' })
第二部分导致此错误
Server start problem : Error: Cyclic dependency found. type is dependent of itself.
Dependency chain: device -> type -> service => type
我理解错误但我在文档中找不到一种方法。可能吗 ?这是一个SQL设计问题吗?你看到替代解决方案吗?
我可以通过在服务模型中手动定义defaultTypeId
来获得有效的解决方案,但它不再是外键,因此我无法确保存在类型ID。
答案 0 :(得分:0)
您需要执行以下操作
Service.hasMany(Type);
Service.hasOne(Type, { as: 'defaultType' })
Type.belongsTo(Service);