我尝试制作一个家谱。我有一个模范家庭成员,它本身应该有两个关系。 第一个是配偶,第二个是 child 。现在我尝试了:
"relations": {
"spouse": {
"type": "hasOne",
"model": "familyMember",
"foreignKey": "familyMemberId"
},
"children": {
"type": "hasMany",
"model": "familyMember",
"foreignKey": "familyMemberId"
}
}
但是当我创建一个 child 并在配偶之后它会返回:
{
"error": {
"name": "Error",
"status": 500,
"message": "HasOne relation cannot create more than one instance of familyMember"
}
}
当我请求配偶时,它会返回我之前生下的 child 。
如何解决这个问题?
最佳答案
据我从您的问题中了解到,您有一个模型familyMembers
,并且您分别将同一模型的属性children
和spouse
作为关系hasMany
和hasOne
引用。
这不是实现您想要通过环回实现的目标的最佳方式。而且它有可能出错。
最好的方法是首先通过环回创建一个模型 FamilyMember
。
然后通过继承基础familyMember
模型创建两个不同的模型children
和spouse
以及其他相关成员模型。
然后轻松添加这些模型之间的关系。
欲了解更多信息,请阅读。 Extending a model in loopback
关于javascript - Loopback hasOne 和 hasMany 的模型相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34120247/