gpt4 book ai didi

database - SailsJS 的外键约束

转载 作者:搜寻专家 更新时间:2023-10-31 22:43:15 25 4
gpt4 key购买 nike

这是我的大学模型

module.exports = {

attributes: {
name:{
type:'string',
required:true
},
location:{
type:'string',
required:true
},
faculties:{
collection:'faculty',
via:'college'
}
}
};

这是我的 Faculty 模型

module.exports = {

attributes: {
name:{
type:'string',
required:true
},
description:{
type:'string'
},
college:{
model:'college',
required:true
}
,
years:{
collection:'year',
via:'faculty'
}
}
};

我的问题是我可以在 college 属性中添加任何值的新 Faculty。如果我没有 3000 id 的大学,我仍然可以添加它,但是当我列出所有院系时 college 属性不会显示。如何防止它添加具有无效大学 ID 的教员?

最佳答案

目前 waterline 不会以您描述的方式创建外键约束。它只创建关联的字段。

您可以使用不同的库而不是 Waterline,例如 Sequelize.js,这里有一个关于如何去做的链接

https://groups.google.com/forum/#!topic/sailsjs/ALMxbKfnCIo

如果您使用的是 SQL 数据库,您可以自己手动创建外键约束。

或者,您可以通过在教员模型上 checkin beforeValidate()afterValidate() 来验证在教员模型中设置大学的值。

关于database - SailsJS 的外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29940488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com