带连接的环回查询

时间:2017-10-04 09:05:45

标签: javascript mysql loopbackjs

在环回中,我开始使用这个模型:

[
  {
    "mov_id": 0,
    "mov_tipo": "string",
    "mov_valore": 0,
    "mov_causale_fk": 0,
    "mov_conto_fk": 0,
    "mov_data": "2017-10-04T09:02:19.620Z",
    "mov_note": "string",
    "mov_utente_fk": 0,
    "mov_aggiunta": "2017-10-04T09:02:19.620Z"
  }
]

然后我添加了两个关系,它们对应于MySQL数据库中的两个外键:

  "relations": {
    "causale_fk": {
      "type": "hasOne",
      "model": "causali",
      "foreignKey": "causale_id",
      "options": {
        "nestRemoting": true
      }
    },
    "conto_fk": {
      "type": "hasOne",
      "model": "conti",
      "foreignKey": "conto_id",
      "options": {
        "nestRemoting": true
      }
    }
  },

我还希望看到这些模型中的字段,就像我确实使用JOIN进行查询一样。 这可能吗?

2 个答案:

答案 0 :(得分:0)

好的,我用范围解决了。

这是模型:

{
  "name": "movimenti",
  "plural": "movimenti",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "scope": {
    "include": [
      "causale_fk",
      "conto_fk"
    ]
  },
  "properties": {
    "mov_id": {
      "type": "number",
      "id": true,
      "required": true
    },
    "mov_valore": {
      "type": "number",
      "required": true
    }
  },
  "validations": [],
  "relations": {
    "causale_fk": {
      "type": "hasOne",
      "model": "causali",
      "foreignKey": "causale_id"
    },
    "conto_fk": {
      "type": "hasOne",
      "model": "conti",
      "foreignKey": "conto_id",
      "include": "conti"
    }
  },
  "acls": [],
  "methods": {}
}

再见!!

答案 1 :(得分:0)

您可以在过滤器中添加选项,并且需要设置的特定选项为include。查看here了解详情。

这是一个满足您特殊需求的示例:

{
Model.find({include:['causale_fk','conto_fk']}, function(){});
}