2016-03-31 6 views
0

Предполагая, что стандартный пример врачей и 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.

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^