как любой в массиве sequelize - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь выполнить findall с помощью sequelize, где я использую $ like.

Поскольку строки, которые мне нужно оценить с помощью $ like, взяты из формы и меняются по значению или числу, я отправляюСеквелировать массив.

Поэтому я хотел бы использовать $ like для всех значений в моем массиве.

Но я пока не могу заставить его работать.

var conditions =Array[String];
   for (var element in req.query.HotelID) {
     console.log(req.query.HotelID[element])
     conditions.push(
       req.query.HotelID[element]
     );
   }
   console.log('in loop')
   console.log(conditions)

   db.hotelamadeus.findAll({

     where: {$and:{ Name: req.query.hotel, HotelID :{[Op.like]: { [Op.any]: conditions}}}},
     attributes: ['HotelID','Name'],


   })

Строки находятся в req.query.HotelID.

Условия массива созданы хорошо.

Я хочу найти значение в моей таблице, которое отображаетусловия в полях Name и HotelID.

Поэтому я попытался выполнить $ like $ any, как я видел во многих сообщениях, но я не уверен, что sequelize справится с этим, поскольку он не работает.

Спасибо за любую помощь

1 Ответ

0 голосов
/ 05 июня 2019

Почему бы вам не создать быструю служебную функцию, которая берет имя массива и столбца, циклически перебирает массив и объединяет для этого [Op.like] и [Op.or]? Если вы используете «лайк», вам все равно нужно добавить% в нужных местах, чтобы вам пришлось немного манипулировать, чтобы сделать

...