在模式中建模一对一关系的方法是什么?

时间:2016-04-25 15:16:44

标签: json backand

例如,我有一个cars表,每个表都有一个model和一个make。一辆汽车每辆只能有一辆,并且有一张modelsmakes的表格,其ID会自动生成。我可以在cars表格中引用这些内容吗? JSON会是什么样子?

我尝试在cars表格中创建一个新字段,并在“Via”文本框中指定id,但它只是在相应的表格中创建了一个新列, id1 < / strong>即可。有没有正确的方法?

这是我的示例架构JSON:

  {
    "name": "cars",
    "fields": {
      "model": {
        "object": "models"
      },
      "make": {
        "object": "makes"
      }
    }
  },
  {
    "name": "models",
    "fields": {
      "title": {
        "type": "string"
      },
      "make": {
        "object": "makes"
      },
      "id": {
        "collection": "cars",
        "via": "model"
      }
    }
  },
  {
    "name": "makes",
    "fields": {
      "models": {
        "collection": "models",
        "via": "make"
      },
      "title": {
        "type": "string"
      },
      "id": {
        "collection": "cars",
        "via": "make"
      }
    }
  }

1 个答案:

答案 0 :(得分:3)

在Back&amp;根据定义,没有一对一的关系,但我们你寻找的是一对多,而你几乎得到它,请参阅下面的模型。 在下面的模型中,一辆车可以有单一型号和单一品牌(当然一个品牌和型号可以有很多车型 - 这是很多部分):

{
  "name": "cars",
  "fields": {
    "model": {
      "object": "models"
    },
    "make": {
      "object": "makes"
    }
  }
},
{
  "name": "models",
  "fields": {
    "cars": {
      "collection": "cars",
      "via": "model"
    },
    "title": {
      "type": "string"
    },
    "make": {
      "object": "makes"
    }
  }
},
{
  "name": "makes",
  "fields": {
    "cars": {
      "collection": "cars",
      "via": "make"
    },
    "models": {
      "collection": "models",
      "via": "make"
    },
    "title": {
      "type": "string"
    }
  }
}