我试图制作一个家谱。我有一个模范家庭成员,它本身应该有两种关系。第一是配偶,第二是子女。现在我用试试
"relations": {
"spouse": {
"type": "hasOne",
"model": "familyMember",
"foreignKey": "familyMemberId"
},
"children": {
"type": "hasMany",
"model": "familyMember",
"foreignKey": "familyMemberId"
}
}
但当我生了一个孩子,在有了配偶之后,它又回来了:
{
"error": {
"name": "Error",
"status": 500,
"message": "HasOne relation cannot create more than one instance of familyMember"
}
}
当我请求配偶时,它会退还我以前生过的孩子。
我该如何解决这个问题?
根据我从您的问题中了解到的情况,您有一个模型familyMembers
,并且您将同一模型的属性children
和spouse
分别引用为关系hasMany
和hasOne
。
这并不是通过环回来实现你想要实现的目标的最佳方式。而且它有可能出错。
最好的方法是首先通过环回创建一个模型FamilyMember
。
然后通过继承基本的familyMember
模型,创建两个不同的模型children
和spouse
以及其他相关的成员模型。
然后很容易添加这些模型之间的关系。
欲了解更多信息,请阅读。在环回中扩展模型