环回hasOne和hasMany是同一型号的



我试图制作一个家谱。我有一个模范家庭成员,它本身应该有两种关系。第一是配偶,第二是子女。现在我用试试

"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,并且您将同一模型的属性childrenspouse分别引用为关系hasManyhasOne

这并不是通过环回来实现你想要实现的目标的最佳方式。而且它有可能出错。

最好的方法是首先通过环回创建一个模型FamilyMember

然后通过继承基本的familyMember模型,创建两个不同的模型childrenspouse以及其他相关的成员模型。

然后很容易添加这些模型之间的关系。

欲了解更多信息,请阅读。在环回中扩展模型

最新更新