如何从 'one of many' 模型中包含关系的 'many' 部分?
How to include the 'many' part of a relation from the 'one of many' model?
我正在尝试获取产品,包括它所属的类别。一个类别当然有很多产品,一个产品是一个类别的一部分。我是这样做的。
Product.find({include: 'Categories'})
当我尝试执行此查询时,出现错误。 'Relation "Categories" is not defined for Product model'.
我根据此处找到的环回文档定义了此关系:https://docs.strongloop.com/display/public/LB/HasMany+relations。因为一个类别有很多产品。看起来如下:
category.json
"relations": {
"products": {
"type": "hasMany",
"model": "Product",
"foreignKey": "categoryId"
}
},
products.json 中未定义任何内容。我当然检查了复数,但他们都检查了。
当我尝试获取所有类别的所有产品时,它没有问题。我很确定这是故意的。但是反过来我应该怎么做呢?我已经尝试将 Product 中的关系定义为 hasOne,记录在此处:https://docs.strongloop.com/display/public/LB/HasOne+relations。但这需要另一个对象中的外键,因此这显然仅适用于一对一关系。除此之外,我有点难过...有什么想法吗?
当您从产品方面包含它时,您必须在 product.json
中创建该关系
正如您所说,一个产品只属于一个类别 - 这意味着关系名称应该是类别。
把它想象成类似的东西,环回将调用一个函数Product.category
在 product.json
中添加以下代码段
"relations": {
"category": {
"type": "belongsTo",
"model": "Category",
"foreignKey": "categoryId"
}
},
现在试试 -
Product.find({include: 'category'})
我正在尝试获取产品,包括它所属的类别。一个类别当然有很多产品,一个产品是一个类别的一部分。我是这样做的。
Product.find({include: 'Categories'})
当我尝试执行此查询时,出现错误。 'Relation "Categories" is not defined for Product model'.
我根据此处找到的环回文档定义了此关系:https://docs.strongloop.com/display/public/LB/HasMany+relations。因为一个类别有很多产品。看起来如下:
category.json
"relations": {
"products": {
"type": "hasMany",
"model": "Product",
"foreignKey": "categoryId"
}
},
products.json 中未定义任何内容。我当然检查了复数,但他们都检查了。
当我尝试获取所有类别的所有产品时,它没有问题。我很确定这是故意的。但是反过来我应该怎么做呢?我已经尝试将 Product 中的关系定义为 hasOne,记录在此处:https://docs.strongloop.com/display/public/LB/HasOne+relations。但这需要另一个对象中的外键,因此这显然仅适用于一对一关系。除此之外,我有点难过...有什么想法吗?
当您从产品方面包含它时,您必须在 product.json
中创建该关系正如您所说,一个产品只属于一个类别 - 这意味着关系名称应该是类别。
把它想象成类似的东西,环回将调用一个函数Product.category
在 product.json
中添加以下代码段"relations": {
"category": {
"type": "belongsTo",
"model": "Category",
"foreignKey": "categoryId"
}
},
现在试试 -
Product.find({include: 'category'})