有一个存储所有可用语言的语言模型。 语言:
attributes: {
language: {
type: 'string',
required: true
},
combinations: {
type: 'array'
}
}
简历模型:
user: {
model: 'User',
required: true
},
language: {
model:''
required: false,
through: 'resumelanguage'
}
现在我需要将这两个链接在一起,这样简历可以有一组语言,这个链接应该有另一个属性;说rank
。
我该怎么做?
答案 0 :(得分:0)
如果您希望简历中包含多种语言,则必须在其模型中添加collection
属性。
// /models/Resume.js
attributes {
// Other attributes here
user: {
model: 'user',
required: true
},
languages: {
collection:'language',
via: 'resume'
}
};
现在,如果您想要One-to-Many关系,语言模型必须具有model
属性
// /models/Language.js
attributes: {
language: {
type: 'string',
required: true
},
combinations: {
type: 'array'
},
resume : {
model: 'resume'
}
}
如果您想要Many-to-Many关系,语言模型也必须具有collection
属性
// /models/Language.js
attributes: {
language: {
type: 'string',
required: true
},
combinations: {
type: 'array'
},
resumes : {
collection: 'resume',
via: 'languages'
}
}
- 编辑 -
或者您可以在两个表的“链接”表(例如:LanguageResume)上使用一对多关系。然后,您可以将其他属性添加到“链接”表
// /models/LanguageResume.js
attributes: {
languages: {
collection: 'language',
via: 'resumes'
},
resumes : {
collection: 'resume',
via: 'languages'
},
rank: {
type: 'integer'
},
}