Waterline ORM 是否支持继承?比如说,我有一个名为 BusinessDocument
的模型,我想创建一个名为 SalesOrder
的新模型,它扩展了 BusinessDocument
。因此,SalesOrder
最终应该具有 BusinessDocument
的所有属性以及一些新属性。这是 Waterline 支持的吗?
最佳答案
Waterline 似乎不支持开箱即用。看到这个 GitHub issue 。
上述问题中的评论之一还链接到 YouTube ( here ) 上的sailscast 视频。简而言之,该视频演示了如何使用 lodash 将子模型与基础模型进行 merge,如下所示:
基础模型.js
module.exports = {
attributes : {
name : 'STRING',
age : 'INTEGER'
},
foo : function () {}
}
子模型.js
var baseModel = require('/path/to/baseModel')
, _ = require('lodash')
module.exports = _.merge(baseModel, {
attributes : {
birthDate : 'DATE',
...
}
})