【发布时间】:2015-06-06 14:37:35
【问题描述】:
如何从两个连接的表中获取数据? 假设有两个模型分别称为 Category(CategoryId, CategoryName) 和 Product(ProductId, ProductName, CategoryId),有没有办法得到类似的结果:(ProductId, ProductName, CategoryId, CategoryName)
【问题讨论】:
标签: node.js loopbackjs loopback
如何从两个连接的表中获取数据? 假设有两个模型分别称为 Category(CategoryId, CategoryName) 和 Product(ProductId, ProductName, CategoryId),有没有办法得到类似的结果:(ProductId, ProductName, CategoryId, CategoryName)
【问题讨论】:
标签: node.js loopbackjs loopback
您的 Category 模型和 Product 模型之间应该存在关系。一个类别 hasMany 产品和每个产品 belongsTo 一个类别。所以你的模型 json 文件应该是这样的
类别:
{
"name":"Category",
"properties":{
"CategoryId": {
"type":"Number",
"id":1
},
"CategoryName":{
"type":"String"
}
},
"relations": {
"products": {
"type":"hasMany",
"model":"Product",
"foreignKey":"CategoryId"
}
}
}
产品
{
"name":"Product",
"properties":{
"ProductId: {
"type":"Number",
"id":1
},
"ProductName":{
"type":"String"
},
"CategoryId": {
"type":"Number"
}
},
"relations": {
"category": {
"type":"belongsTo",
"model":"Category",
"foreignKey":"CategoryId"
}
}
}
当然,这些 json 定义必须用相应的选项和数据源属性来完成,只有你知道。
这两个模型之间的关系会将端点添加到环回浏览器,以便您可以查询特定类别中的产品:
GET /api/Categorys/:id_category/products
产品所属的类别
GET /api/Products/:id_product/category
请注意,除非您为 Category 指定复数选项,否则它的复数将是 Categorys。这不是错字。
最后,如果您想查询产品及其类别,您将使用 include 过滤器
GET /api/Products/:id_product?filter[include]=category
希望对你有帮助。
【讨论】: