Я хочу сделать запрос с несколькими или условиями в sequelize. Из двух я определил, что только один отражен в запросе, сгенерированном с помощью секвелирования
Текущий вывод:
SELECT `id`, `from_id`, `to_id`, `message`, `format`, `from_type`, `to_type`, `from_deleted_id`, `to_deleted_id`, `created_at`, `updated_at` FROM `messages` AS `Message` WHERE ((`Message`.`from_id` = '1' AND `Message`.`from_type` = 'user') OR
(`Message`.`from_id` = '3' AND `Message`.`from_type` = 'user'))
Ожидаемый вывод:
SELECT `id`, `from_id`, `to_id`, `message`, `format`, `from_type`, `to_type`, `from_deleted_id`, `to_deleted_id`, `created_at`, `updated_at` FROM `messages` AS `Message` WHERE ((`Message`.`from_id` = '1' AND `Message`.`from_type` = 'user') OR
(`Message`.`from_id` = '3' AND `Message`.`from_type` = 'user')) AND ((`Message`.`to_id` = '1' AND `Message`.`to_type` = 'user') OR
(`Message`.`to_id` = '3' AND `Message`.`to_type` = 'user'))
где объект -
where_condition={
[Op.or]: [
{from_id: from_id,from_type:from_type},
{from_id: to_id,from_type:to_type},
],
[Op.or]: [
{to_id: from_id,to_type:from_type},
{to_id: to_id,to_type:to_type},
],
}
Оператор Sequlize -
models.Message.findAll({where:where_condition})