![](/img/trans.png)
[英]Sequelize include nested column: Unknown column in 'where clause'
[英]Is there a way to include an array in a where: $or clause with sequelize?
我有一組 Ids teamsIdsSelected = ['1', '5', .., 'X']
然后,從名為“挑戰”的表中,我想從數組 teamIdsSelected 中獲取與每個 teamId 相關聯的所有挑戰。 到目前為止,這是我嘗試過的:
createWhereClause(column, field) {
return models.sequelize.where(
models.sequelize.literal(`${column} in (`),
`'${field}'`,
models.sequelize.literal(')'))
},
const challenges = await Challenge.findAndCountAll({
where: {
team_id: createWhereClause(team_id, teamsIdsSelected)
}
})
但它不起作用,我只獲得 team_id 等於teamsIdsSelected = teamsIdsSelected.slice(-1)[0]
的最后一項的挑戰,例如如果teamsIdsSelected = ['1', '4', '7']
,最后的 where 子句(當我查看日志時)只是"where challenge.team_id = 7"
。
我真正想要的是一個 OR 條件,它將所有與 1、4 或 7 匹配的挑戰作為 team_id。 有沒有一種快速的方法可以在不創建 for 循環的情況下做到這一點?
如果您需要更精確地了解我的問題,請告訴我。 謝謝。
const challenges = await Challenge.findAndCountAll({
where: {
team_id: { [Op.in]: teamsIdsSelected }
}
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.