0
因此,我最終使得協會在我的續集代碼中工作。或者我想。由中間第三張表加上兩個關聯表
我有表A通過外鍵關聯到表B和表B關聯到表C.我想從A,B和C.使用過濾器行如果C,其中出來的照片,我會做這樣的事情:
models.A.findOne({
attributes: ['id', 'col1', 'col2'],
where: {
col1: value1,
col3: value3
},
include: [{model: models.B, required: true}]
}).then(function (result) {
res.send(result);
}).catch(function(error){
console.log(error);
res.send(error);
});
注意COL3是表B中的字段
現在我想做的事情在理想情況下可以寫成:
models.A.findOne({
attributes: ['id', 'col1', 'col2'],
where: {
col1: value1,
col3: value3,
col5: value5
},
include: [{model: models.B, required: true}, {model: models.C, required: true}]
}).then(function (result) {
res.send(result);
}).catch(function(error){
console.log(error);
res.send(error);
});
COL5是表的字段C.
這樣做(理所當然)給我一個錯誤:C不是連接到A。 我知道A連接到B和B到C,因爲我在模型中定義了這些連接。但我無法定義交叉表的關聯 - 就像A和C一樣。
首先,我不知道該怎麼做,其次,關聯可能包含多達5個表的鏈。當我說連鎖店時,我指的是一系列的關聯,而不是平行關聯到同一張桌子。
sequelize如何處理這種情況?