-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?
誰低估了......你能解釋一下爲什麼嗎?沒有解釋的投票是無用的。 –