类似于 HQL 的等值线查询



我在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 中实现相同的目标,现在我正在运行两个查询,一个用于获取用户,另一个用于获取该用户的公司。有什么方法可以将两者合二为一吗?

还有一件事,waterline 如何处理我们需要直接从外键中获取某些内容的情况,即如果我获得用户数据,那么我可以通过调用来获取公司详细信息:

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
})

尝试这样的事情:

User.findOne({id: 1})
    .populate('company')
    .exec(function(err, user) {
        if(err){
            //handle errors      
        }else{
            //do stuff
        }
    });

这应该从关联(外键)中获取值。

相关内容

  • 没有找到相关文章

最新更新