Powinieneś stworzyć taki model
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'
}
}
Następnie
Pobierz użytkownika z poczty e-mail
Email.find().populate('owner')
Uzyskaj e-mail od użytkownika
User.find().populate('userEmail')
Teraz możesz uzyskać dostęp do swoich danych zarówno z dwóch modeli.
Spróbuj wydrukować dwa powyższe polecenia, a zobaczysz, że Twoje dane zawierają dane z powiązanej tabeli.
Email.find().populate('owner').exec(function(err, records) {
res.json(records)
});
To jest moja odpowiedź.
[
{
"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"
}
]
Więcej informacji :http://sailsjs.com/ dokumentacja/koncepcje/modele-i-orm/stowarzyszenia/jeden do jednego