【问题标题】:How can I get data from two tables using one REST URL?如何使用一个 REST URL 从两个表中获取数据?
【发布时间】:2017-04-03 07:55:07
【问题描述】:

我一直在阅读 Sails JS 文档,但我无法真正弄清楚。

我有两个表,X 和 Y。当我在 localhost:1337/xydata 发出 GET 请求时,我想接收以下 SELECT 查询的结果:

SELECT x.id, x.info, y.name
FROM x, y
WHERE y.xId = x.id

(请注意,这只是一个例子)

我将如何做到这一点?控制器似乎一次只给我一张桌子,我是不是找错地方了?

【问题讨论】:

  • 您是否依赖Blueprints 来完成这项工作?您必须编写控制器代码。
  • 我目前正在为其他几个控制器使用蓝图,是的
  • 蓝图中不支持从 2 个表中获取数据的要求。因此,您必须编写自己的控制器代码。
  • 所以我必须制作一个控制器,将选择查询作为原始 SQL 执行,然后以 JSON 格式返回,对吗?
  • 是的,无论是原始 SQL 还是如果您在 Sails 中有这两个模型 associated,您可以使用 Waterline ORM 和 .populate()

标签: mysql rest sails.js


【解决方案1】:

Blueprints 非常适合快速制作模型的 CRUD API 原型

但是,在构建任何相当复杂的应用程序时,蓝图将无法满足您的某些要求。在这种情况下,应实施自定义控制器操作

在这种情况下,您可以使用原始 SQL 或带有 .populate() 的 Waterline ORM (如果您在 Sails 中关联了这两个模型)

【讨论】:

    猜你喜欢
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 2015-09-20
    • 2015-04-19
    • 2018-11-25
    • 1970-01-01
    相关资源
    最近更新 更多