SailsJS上的外键约束
这是我的大学模式
module.exports = { attributes: { name:{ type:'string', required:true }, location:{ type:'string', required:true }, faculties:{ collection:'faculty', via:'college' } } };
这是我的师资模式
module.exports = { attributes: { name:{ type:'string', required:true }, description:{ type:'string' }, college:{ model:'college', required:true } , years:{ collection:'year', via:'faculty' } } };
我的问题是,我可以添加新的Faculty
在college
属性中的任何价值。 如果我没有3000学分的大学,我仍然可以添加它,但college
属性不会出现在我列出所有院系。 如何防止添加无效的大学ID教师?
目前水线不会以您描述的方式创build外键约束。 它只创build相关的字段。
你可以使用不同的图书馆,而不是水线,如Sequelize.js这里是一个关于如何去做的链接
https://groups.google.com/forum/#!topic/sailsjs/ALMxbKfnCIo
如果您正在使用SQL数据库,则可以自己手动创build外键约束。
或者,您可以通过在您的教师模型中inputbeforeValidate()
或afterValidate()
来validation学院的价值。