2015-12-09 66 views
1

基本上,我有兩個表:用戶和user_connections如何在Bookshelf.js中執行多連接查詢?

User

id | email 

1 | [email protected] 

2 | [email protected] 

user_connections

user_id | key 

1 | test1 

1 | test2 

2 | test3 

基本上,我需要建立一個查詢,鑑於電子郵件,拉動與該電子郵件ID相關聯的連接列表。

我已經有User定義並指向User表。我將如何獲得所需的結果?


編輯:這裏是理想的結果:

如果我GET1的ID,那麼我應該得到以下返回(在JSON):

{ 
    { 
    user_id: 1, 
    key: test1 
    }, 
    { 
    user_id: 2, 
    key: test2 
    } 
} 
+0

顯示你想要的結果 – Sachu

+0

我編輯了這個問題來證明這一點。 – DemCodeLines

+0

使用加入和在查詢方法 – vbranden

回答

-1
User.query().join('user_connections','User.id','=','user_connections.user_id').where('user.email','=','abc').select('user_connections.key','user_connections.user_id').then(function(collection){ 
    res.json(collection); 
}); 
+0

請詳細解釋你的代碼。 –

0

在你傳遞給fetch的散列中使用withRelated。它標識您必須在書架模型中定義的列名稱數組。

User 
    .forge() 
    .where({email: "[email protected]"}) 
    .fetch({ 
     withRelated: ["user_connections"] //or however you have defined it in your model defintion 
    }) 
    .then(function(collection) { 
     collection.relations// {user_connections: [ {}, {}, ...]} 
    }); 
相關問題