【问题标题】:a three layer loopback model relation三层环回模型关系
【发布时间】:2016-08-24 19:24:55
【问题描述】:

我有一个卖方模型。它的基类是 User。

我有一个属于卖家的 Sku 模型。卖家与Sku有很多关系。

我有一个属于 Sku 的许可证模型,并且 Sku 与许可证有很多关系。

如果我在MySql db中,我会将seller_id放在Sku表中,并使sku(Sku表中的sku字符串)和seller_id一起唯一。因为每个卖家都可以拥有相同的 Sku,但一个卖家不能拥有多个 sku。

同时,我会将seller_id 和sku_id 放入License 表中,这样我可以获得卖方的所有许可证。

回到我的环回模型。我在想,如果卖方与许可证和许可证属于卖方有很多关系,那么我的 MySql 想法会不会一样?

【问题讨论】:

  • 提供一些代码会有所帮助
  • @EbrahimPasbani 没有代码。这只是建模。
  • 我的意思是建模,比如json文件。无论如何,当您从卖方与 Sku 有关系并且 Sku 与许可证有关系时,无需直接从卖方与许可证建立关系。
  • @IsmaelDiVita 你的意思是,我应该注意权限吗?我还没有学习 ACL,但我假设如果我遵循模型的 ID,我可以设法添加权限。是不是可以通过 Sku 给许可的唯一所有者(卖方)?
  • 是的,$owner ACL 仅适用于与基于用户的模型相关的模型,在您的情况下卖方,您必须在卖方和许可证 (belongsTo) 之间建立关系

标签: loopbackjs loopback


【解决方案1】:

环回不支持JOIN

所以问题

同时我会将seller_id 和sku_id 放入License 表中,这样我就可以获得卖方的所有许可证。

在lookpack中,模型License只有一个foreignId skuId

seller.skus({include: licenses}) 会以以下形式向您返还卖家许可证:

[
  sku_1: [
      license_1,
      license_2,
      ...
  ],
  sku_2: [
      license_1,
      license_3,
      ...
  ],
  ...
]

一些您可能感兴趣的文档链接:

如何在loopback中查询相关模型:http://loopback.io/doc/en/lb2/Querying-related-models.html

如何使用过滤器包括: http://loopback.io/doc/en/lb2/Include-filter.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-18
    相关资源
    最近更新 更多