【问题标题】:Loopback - one-to-many relation between 3 modelsLoopback - 3 个模型之间的一对多关系
【发布时间】:2019-10-01 22:27:57
【问题描述】:

我将 IBM API Connect 用于 Loopback 应用程序。我有 3 个模型 - 所有者、家和房间。关系描述如下:

所有者:

  • 业主可能拥有一栋或多栋住宅
  • 房屋或所有房屋属于特定所有者

首页:

  • 一个家会有多个房间
  • 所有房间都属于一个特定的家

在我的例子中,通过 API Connect CLI,所有者是一个 REST 公开模型(REST 资源),并且应该通过一对多关系与 Home 模型直接相关。 Home & Room 是两个不暴露于 REST 的模型。 Home 通过一对多的关系与 Room 直接相关。 Owner 和 Room 之间没有直接关联,而是通过 Home 模型关联。

我想获取以下形式的 HTTP URL:

/owners/{id}/homes/{id}/rooms/{id}   

获取业主特定房屋的房间详细信息

我为 Owner-Home 和 Home-Room 选择了一对多的关系,并带有各自的外键。由于它不是多对多关系,所以我没有使用任何直通模型。

我得到的 URL 没有对应的 Room :

/owners/{id}/homes/{id}

任何想法我该怎么做?

【问题讨论】:

  • 如果您已经有了要查询的房间 ID,为什么还要从所有者 ID 和家庭 ID 中查询房间?

标签: ibm-cloud loopbackjs loopback apiconnect


【解决方案1】:

我相信您正在寻找一个名为 nestRemoting() 的函数。

以你的情况为例,你需要在启动文件中调用Owner.nestRemoting('homes')来启用嵌套端点

详情请查看我们的文档:http://loopback.io/doc/en/lb2/Nested-queries.html

在 loopback-example-relations 我创建了一个包含你的模型和关系的分支,以及如何让嵌套远程 apis 工作,请检查: https://github.com/strongloop/loopback-example-relations/blob/example/nest-relation/server/boot/initNestRelation.js#L3-L4

【讨论】:

    猜你喜欢
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    相关资源
    最近更新 更多