Предполагая, что стандартный пример врачей и patiens, используемых StrongLoop (https://docs.strongloop.com/display/public/LB/HasManyThrough+relations):Loopback Как запрос в отношении «hasManyThrough» в базе к связанным моделям?
общего/модель/physician.json
{
"name": "Physician",
"base": "PersistedModel",
"properties": {
"name": {
"type": "string"
}
},
"validations": [],
"relations": {
"patients": {
"type": "hasMany",
"model": "Patient",
"foreignKey": "patientId",
"through": "Appointment"
},
общего/модель/patient.json
{
"name": "Patient",
"base": "PersistedModel",
"properties": {
"name": {
"type": "string"
}
},
"validations": [],
"relations": {
"physicans": {
"type": "hasMany",
"model": "Physician",
"foreignKey": "physicianId",
"through": "Appointment"
},
общих /models/appointment.json
{
"name": "Appointment",
"base": "PersistedModel",
"properties": {
"appointmentDate": {
"type": "date"
}
},
"validations": [],
"relations": {
"physician": {
"type": "belongsTo",
"model": "Physician",
"foreignKey": "physicianId"
},
"patient": {
"type": "belongsTo",
"model": "Patient",
"foreignKey": "patientId"
},
Позволяет поддерживать, если один врач может иметь 0,1,2 или более пациентов. Таким образом:
PhysicianId | PatientId
1----------------1
1----------------2
2----------------3
2----------------4
3----------------3
3----------------5
Как я могу получить все врачи, чем у того же пациента ??
К примеру:
Получить все врачи, чем у пациентов с patientId 3 ??
В этом случае результат должен быть: PhysicianId 2 и 3.