Você deve criar um modelo como este
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'
}
}
Então
Obter usuário do e-mail
Email.find().populate('owner')
Obter e-mail do usuário
User.find().populate('userEmail')
Agora você pode acessar seus dados tanto do seu modelo dois.
Tente imprimir dois comandos acima, você verá que seus dados contêm os dados da tabela relacionada.
Email.find().populate('owner').exec(function(err, records) {
res.json(records)
});
Esta é a minha resposta.
[
{
"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"
}
]
Mais informações:http://sailsjs.com/ documentação/conceitos/modelos-e-orm/associações/um para um