【发布时间】:2016-04-04 15:16:49
【问题描述】:
我的数据结构与 Loopback HasManyThrough 文档页面中描述的非常相似。
对于给定的医师(例如 id 2),我想为他们的所有患者提供预约和预约日期。
我可以像这样进行GET 操作:
GET /physicians/2
带有filter 标头{ "include" : {"relation":"patients"} }
我确实得到了医生和患者名单,但我失去了关系的appointmentDate。
或者,我可以像文档显示的那样对关系表执行GET 操作:
GET /appointments
带有filter 标头{ "include" : {"relation":"patient"}, "where":{"physicianId":2}} }
我得到了预约,其中包含日期和患者,但没有医生的详细信息。
我似乎无法将两者结合起来。
有没有办法通过一次查询获取全部数据?
数据会是这样的:
[
"name" : "Dr John",
"appointments" : [ {
"appointmentDate": "2014-06-01",
"patient": {
"name": "Jane Smith",
"id": 1
}
}]
]
我发现的一个 way hack 是定义关系两次。一次作为HasManyThrough 和一次作为HasMany 到约会表,然后我可以这样做:
GET /physicians/2
带有filter 标头{ "include" : {"relation":"appointments","scope":{"include":["patient"]} } }
但这似乎不对,或者可能导致重复关系的奇怪行为..但也许我是偏执狂。
【问题讨论】:
标签: loopbackjs