我在Sails中有模型如下:
用户模型
attributes: {
firstName: {
type: 'string',
required: true
},
lastName: {
type: 'string',
required: true
},
company: {
model: 'Company'
}
}
公司
name: {
type: 'string',
required: true,
unique: true
},
description: {
type: 'string',
required: true
}
在HQL查询中,为了让用户在特定公司工作,我们使用以下内容:
Select * from User where company.name=?
如何在Sails中实现相同功能,现在我正在运行两个查询,一个用于获取用户,另一个用于获取该用户的公司。有没有什么方法可以合二为一?
还有一件事,水线如何处理我们需要直接从外键获取内容的情况,即如果我获得用户数据,那么我可以通过调用来获取公司详细信息:
User.findOne({id:1}, function(err, res){
//Res contains user data with just companyId now,
//how can i get whole company object here
var companyName = res.company.name; //This is not working currently
})
答案 0 :(得分:0)
尝试这样的事情:
User.findOne({id: 1})
.populate('company')
.exec(function(err, user) {
if(err){
//handle errors
}else{
//do stuff
}
});
这应该从关联(外键)中获取值。