-1
我有上有两个关系表:如何通过BookshelfJS中的连接过滤结果?
工作 - >公司与 工作 - >用户
我想只选择那些已经附加有一个用户,并得到了用户的工作与他们相关联。我试过了:
new Job().fetchAll({withRelated: ['user']})
但是,这总是返回用户附加的所有作业。我也试过:
new Job().fetchAll({
withRelated: [{
'user':function(qb){
qb.where('id','=','job.user_id');
}
}]
});
和我可以想到的用户子查询的每个组合。但是,这只允许我过滤用户关系返回的结果。
我知道SQL,但我想使用ORM。所以最终的查询应该是这样的:
SELECT * FROM jobs JOIN users ON users.id = jobs.user_id LEFT JOIN companies on job.company_id = companies.id
我怎样才能做到这一点使用BookshelfJS或Knex?
谁低估了......你能解释一下为什么吗?没有解释的投票是无用的。 –