【问题标题】:loopback include with two models环回包括两个模型
【发布时间】:2016-03-31 05:29:31
【问题描述】:

当前代码正在运行:

  app.models.AvionPiloteAutorisation.find({
    "where": {
      "idAvion": avion.idAvion
    },
    "include": ["pilote"]
  }, function(err, pilotes) { ... }

但是这个:

  app.models.AvionPiloteAutorisation.find({
    "filter": {
      "where": {
        "idAvion": avion.idAvion
      },
      "include": {
        "relation": "pilote"
      }
    }
  })

失败。 应该是一样的吧?

我正在尝试使用相关模型“Utilisateur”添加​​一些信息

  app.models.AvionPiloteAutorisation.find({
    "filter": {
      "where": {
        "idAvion": avion.idAvion
      },
      "include": {"relation": "pilote", "scope": {"include": ["utilisateur"]}}
    }
  })

我做错了什么?

谢谢。

【问题讨论】:

  • “失败”是什么意思?它没有过滤数据或发生错误?如果过滤数据有问题,那么在您的第二个代码 sn-p 中,您的查询格式错误。您的表达式中不需要“过滤器:{}”。它应该是 {"where": { "idAvion": avion.idAvion }, "include": { "relation": "pilote" }}
  • 它没有按预期检索数据。我会尝试不使用过滤器。
  • 谢谢。我认为 filter 关键字在复杂查询的情况下是强制性的。
  • 对此不确定,但也许可以尝试将其设为"include": [ { ... } ](请注意,我将其设为一个包含对象的数组,而不是仅包含一个对象)。

标签: javascript node.js loopbackjs strongloop


【解决方案1】:

第一个问题的答案是,当您使用 Angular SDK 达到终点时,使用了涉及“过滤器”的语法。
我认为这段代码将实现您在这里尝试做的事情:-

  app.models.AvionPiloteAutorisation.find({ "include":[{ "pilote": "utilisateur" }], "where":{ "idAvion": avion.idAvion } })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    相关资源
    最近更新 更多