【问题标题】:Loopback referencesMany nested foreign key环回引用许多嵌套的外键
【发布时间】:2018-02-10 11:47:00
【问题描述】:

我想引用一个不同的模型(如此处所述:https://loopback.io/doc/en/lb2/Embedded-models-and-relations.html),但通过 嵌套 id:

{
 "name" : "person",
 ...
  "relations": {
    "cars": {
      "type": "referencesMany",
      "model": "car",
      "foreignKey": "cars.id"
  }
}

Person json 实际上是这样的:

{
  ...
  cars: [{"id": 1, "name": "car1"}, ...]
}

汽车型号将是完整的汽车详细信息

我是否必须编写自己的远程方法才能做到这一点?

【问题讨论】:

    标签: node.js foreign-keys loopbackjs


    【解决方案1】:

    Yosh DaafVader,

    我也遇到过这个问题并花时间寻找解决方案 ^^ 但实际上您只需要使用目标关系属性中的参数选项即可。 documentation 说明了应该如何定义关系(确保环回 cli 不包括在版本 3.x 中,但不包括使用嵌入或引用的方式)。

    在您的 person 模型中,您必须更改 foreignKey 并添加以下 选项 才能仅使用 id 来引用汽车。

    {
     "name" : "person",
     ...
      "relations": {
        "cars": {
          "type": "referencesMany",
          "model": "car",
          "foreignKey": "",
          "options": {
            "validate": true,
            "forceId": true
          }
      }
    }
    

    现在您将能够在资源管理器中查看添加、删除和查看属于目标人员的汽车的新路线。

    [编辑]

    1. foreignKey应为空,以便能够在汽车列表中正确添加项目,或者您可以对其进行测试并提供一些反馈
    2. validate 选项确保 id 存在于您的数据库中
    3. forceId 选项将确保它只接受 id 作为参数

    [/编辑]

    希望它会有所帮助:)

    干杯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      • 1970-01-01
      相关资源
      最近更新 更多