У меня есть массив идентификаторов teamIdsSelected = ['1', '5', .., 'X']
Затем из таблицы «Вызов» я хочу получить все задания, связанные с каждым teamId, из массива teamIdsSelected. Пока что это то, что я пробовал:
- Использование этой функции:
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"
.
На самом деле мне бы хотелось, чтобы условие ИЛИ принимало все вызовы, которые соответствуют 1, 4 или 7, как team_id. Есть ли быстрый способ сделать это без создания цикла for?
Дайте мне знать, если вам нужно больше информации о моей проблеме. Спасибо.