我使用Postgres的Sequelize。我的兩個表格(estimatorList
和subcontractor
)通過手動定義的表格(estimatorSubsList
)連接。手動定義連接表的續集返回關聯
db.subcontractor.belongsToMany(db.estimatorList, { through: db.estimatorSubsList });
db.estimatorList.belongsToMany(db.subcontractor, { through: db.estimatorSubsList });
estimatorSubsList
都有一個id等領域,但它也通過
db.contact.hasMany(db.estimatorSubsList);
關聯contact
當我在數據庫中查詢estimatorList
與特定的ID,並返回與分包商相關的subcontractor
(和表)與此相關聯 -
db.estimatorList.findById(estimatorListId, {include: [ {
model: db.subcontractor,
include: [ db.location, etc, etc ]
}
]})
它返回所有正確的信息。它也會在每個subcontractor
對象內自動返回estimatorSubsList
與contactId
。 EG:
estimatorSubsList:
{ contactId: 1
createdAt: ""
estimatorListId: 1
id:2
otherFields:false
subcontractorId: 2
updatedAt:""
}
我的問題是,是否有可能不僅得到的ContactID,但整個聯繫人記錄本身?我不確定如何更改正在返回的默認信息,或者甚至可能。我試過包括estimatorSubsList
模型,包括contact
,但它不喜歡我試圖包含estimatorSubsList
。
乾杯全部
可以使用屬性選項嵌套包含和修改屬性。這是所有記錄 – felixfbecker
您好@felixfbecker, 我已經通過在過去幾天的文檔,似乎無法找到解決方案。有一個標題我應該專門研究?我瞭解嵌套,但我不知道如何改變自動返回的內容即。上面的json,當我查詢estimatorList。我不會將estimatorSubsList本身稱爲它,而是將其與分包商一起退回。我希望在這部分回報中包含聯繫人。 感謝您的幫助 – Porksoda
請幫忙@felixfbecker,我仍然無法找到解決方案。我想返回與我的表關聯的db.contact - db.estimatorSubsList。掙扎! 我看到如何使用**通過**來更改屬性,但我仍然無法找到如何返回與通過/連接表關聯的db.contacts模型。 – Porksoda