【问题标题】:way to model a one-to-one relationship in schema?在模式中建模一对一关系的方法?
【发布时间】:2016-04-25 15:16:43
【问题描述】:

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

我尝试在cars 表中创建一个新字段并在“Via”文本框中指定id,但它只是在相应的表中创建一个新列id1。有合适的方法吗?

这是我的示例模式 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"
      }
    }
  }

【问题讨论】:

    标签: json backand


    【解决方案1】:

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

    {
      "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"
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 2010-11-17
      • 2012-01-07
      相关资源
      最近更新 更多