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' } } }; 

我的问题是,我可以添加新的Facultycollege属性中的任何价值。 如果我没有3000学分的大学,我仍然可以添加它,但college属性不会出现在我列出所有院系。 如何防止添加无效的大学ID教师?

目前水线不会以您描述的方式创build外键约束。 它只创build相关的字段。

你可以使用不同的图书馆,而不是水线,如Sequelize.js这里是一个关于如何去做的链接

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

如果您正在使用SQL数据库,则可以自己手动创build外键约束。

或者,您可以通过在您的教师模型中inputbeforeValidate()afterValidate()来validation学院的价值。