Du borde skapa en sådan här modell
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'
}
}
Sedan
Hämta användare från e-post
Email.find().populate('owner')
Få e-post från användaren
User.find().populate('userEmail')
Nu kan du komma åt dina data både från dina två modeller.
Försök att skriva ut två kommandon ovan så ser du att dina data innehåller data från relaterad tabell.
Email.find().populate('owner').exec(function(err, records) {
res.json(records)
});
Detta är mitt 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"
}
]
Mer information :http://sailsjs.com/ dokumentation/koncept/modeller-och-orm/föreningar/en-till-en