LoopBack で多対多の結合クエリを実行するのに問題があります。ドキュメントの hasManyThrough の例を検討すると、次のようになります。
var Physician = ds.createModel('Physician', {name: String});
var Patient = ds.createModel('Patient', {name: String});
var Appointment = ds.createModel('Appointment', {
physicianId: Number,
patientId: Number,
appointmentDate: Date
});
Appointment.belongsTo(Patient);
Appointment.belongsTo(Physician);
Physician.hasMany(Patient, {through: Appointment});
Patient.hasMany(Physician, {through: Appointment});
郵便番号が 10012 の特定の医師に関連付けられている患者を検索するために 1 回の検索を実行しようとすると、次のように試すことができます。
physician.patients({where: {zip: 10012}}, fn);
ただし、医師の患者の検索は、実際には Appointments テーブルのみを検索しています。特定の医師の患者に対して直接実行される単純な検索を行う方法はありますか?