В sequelize, пытаюсь найти в солонке code строку и отфильтровать ее по определенной длинне, но выподает ошилка TypeError: s.replace is not a function
В sequelize пытаюсь найти в колонке code строку и отфильтровать её по определенной длине, но выпадает ошибка
TypeError: s.replace is not a function
хотя я передаю именно строку и в базе тип в колонке code type: DataTypes.STRING. Закомментированный код работает.
const existingDepartment = await Department.findOne({
// where: {
// code: {
// [Op.like]: `${parentCode}-%`,
// },
// },
where: {
[Op.and]: [
{
code: {
[Op.like]: `${parentCode}-%`,
},
},
{
[Op.and]: [
{ [Op.gte]: fn('LENGTH', col('code')), minLength }, // Проверка на минимальную длину
{ [Op.lte]: fn('LENGTH', col('code')), maxLength }, // Проверка на максимальную длину
],
},
],
},
order: [['code', 'DESC']],
})
Ответы (1 шт):
Автор решения: Madrid
→ Ссылка
В общем помгло вот такое вот решение:
where: {
[Op.and]: [
{
code: {
[Op.like]: `${parentCode}-%`,
},
},
where(fn('LENGTH', col('code')), {
[Op.eq]: codeLength,
}),
],
},