Последовательность WHERE и синтаксис с функциями - PullRequest
0 голосов
/ 08 октября 2019

Я использую Sequelize 5.18.0 и sequelize-typscript. Мне нужно сделать предложение where с and и .fn, чтобы найти строки, в которых столбец DateTime относится к данному дню.
Какой правильный синтаксис используется для этого?

  return STTermin.schema(ctx.tenant).findAll({
    where: {
      [Op.or]: [
        {
          [Op.and]: {
            Sequelize.where(Sequelize.fn('DATE', Sequelize.col('von')), '2019-10-17'),
            bis: {
              [Op.is]: null
            }
          }
        },

Что дает мне следующую ошибку:

enter image description here

1 Ответ

1 голос
/ 08 октября 2019

И Op.and, и Op.or требуют массив аргументов. Итак:

 [Op.or] : [
    [Op.and]: [
       Sequelize.where(Sequelize.fn('DATE', Sequelize.col('von')), '2019-10-17'),
       {bis: {[Op.is]: null}}
    ],
    { otherColumn : 123455 }  /* some other condition */
]

FWIW, я нахожу псевдонимы операторов для улучшения ясности кода ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...