Du bør oprette en model som denne
api/models/Email.js
attributes: {
email : {
type: 'email',
unique: true
},
owner : {
model:'user', //here put your model name
unique: true //put unique here because it's one by one association
}
}
api/models/User.js
attributes: {
username : {
type: 'string',
unique: true
},
userEmail : {
collection:'email', //here is also model name
via: 'owner'
}
}
Så
Hent bruger fra e-mail
Email.find().populate('owner')
Få e-mail fra bruger
User.find().populate('userEmail')
Nu kan du få adgang til dine data både fra dine to modeller.
Prøv at udskrive to kommandoer ovenfor, du vil se, at dine data indeholder data fra relateret tabel.
Email.find().populate('owner').exec(function(err, records) {
res.json(records)
});
Dette er mit svar.
[
{
"owner": {
"username": "test",
"id": 1,
"createdAt": "2016-11-23T13:45:06.000Z",
"updatedAt": "2016-11-23T13:45:06.000Z"
},
"email": "[email protected]",
"id": 1,
"createdAt": "2016-11-23T13:45:06.000Z",
"updatedAt": "2016-11-23T13:45:06.000Z"
}
]
Flere oplysninger:http://sailsjs.com/ dokumentation/koncepter/modeller-og-orm/foreninger/en-til-en