【发布时间】:2016-06-06 16:59:15
【问题描述】:
前提
非常简短。在我的 StrongLoop 测试/学习环境中,我设置了两个模型:CoffeeShop 和 Person。个人可以有很多“雇主”,CoffeeShops 可以有很多“员工”。这种关系由 CofeeShop 和 Person 模型上的“hasMany”/“through”类型关系维护。
问题
通过 REST API 查询任一模型时,包含过滤器始终为关联关系返回一个空数组,即使关系存在。换句话说,API 调用
http://localhost:3000/api/CoffeeShops/67/employees
按预期工作,但是
GET: http://localhost:3000/api/CoffeeShops/67/?filter={"include":["employees"]}
没有。
谁能帮我弄清楚这是为什么?我还附上了图片和 .json 模型定义文件。
// /common/models/coffee-shop.json
{
"name": "CoffeeShop",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string",
"required": true
},
"city": {
"type": "string",
"required": true
},
"numberEmployees": {
"type": "number"
},
"ownerId": {
"type": "number"
},
"isSmallBusiness": {
"type": "boolean"
}
},
"validations": [],
"relations": {
"owner": {
"type": "belongsTo",
"model": "Person",
"foreignKey": ""
},
"employees": {
"type": "hasMany",
"model": "Person",
"foreignKey": "employerId",
"through": "CoffeeShopPersonEmployeeEmployer"
}
},
"acls": [],
"methods": {}
}
// /omon/models/person.json
{
"name": "Person",
"plural": "Persons",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string",
"required": true
},
"age": {
"type": "number"
}
},
"validations": [],
"relations": {
"shops": {
"type": "hasMany",
"model": "CoffeeShop",
"foreignKey": "ownerId"
},
"employers": {
"type": "hasMany",
"model": "CoffeeShop",
"foreignKey": "employeeId",
"through": "CoffeeShopPersonEmployeeEmployer"
}
},
"acls": [],
"methods": {}
}
// /common/models/coffee-shop-person-employee-employer.json
{
"name": "CoffeeShopPersonEmployeeEmployer",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {},
"validations": [],
"relations": {
"person": {
"type": "belongsTo",
"model": "Person",
"foreignKey": "employeeId"
},
"coffeeShop": {
"type": "belongsTo",
"model": "CoffeeShop",
"foreignKey": "employerId"
}
},
"acls": [],
"methods": {}
}
【问题讨论】:
标签: node.js loopbackjs strongloop