-
Notifications
You must be signed in to change notification settings - Fork 372
hasMany
Lawrence Selvy edited this page Feb 27, 2014
·
5 revisions
Is a many to many relationship (includes join table).
Eg: Patient.hasMany('doctors', Doctor, { why: String }, { reverse: 'patients' }).
Patient can have many different doctors. Each doctor can have many different patients.
This will create a join table patient_doctors when you call Patient.sync():
| column name | type |
|---|---|
| patient_id | Integer |
| doctor_id | Integer |
| why | varchar(255) |
The following functions will be available:
patient.getDoctors(function..) // List of doctors
patient.addDoctors(docs, function...) // Adds entries to join table
patient.setDoctors(docs, function...) // Removes existing entries in join table, adds new ones
patient.hasDoctors(docs, function...) // Checks if patient is associated to specified doctors
patient.removeDoctors(docs, function...) // Removes specified doctors from join table
doctor.getPatients(function..)
etc...To associate a doctor to a patient:
patient.addDoctor(surgeon, {why: "remove appendix"}, function(err) { ... } )which will add {patient_id: 4, doctor_id: 6, why: "remove appendix"} to the join table.