Как сделать запрос с упорядочением по текущей дате - PullRequest
0 голосов
/ 13 июля 2020

Я хочу присоединиться к 2 таблицам и хочу сначала показать последнее сообщение на основе текущей даты, например, сегодняшнее сообщение publi sh будет отображаться вверху, затем будет отображаться дата в будущем, а затем будет отображаться сообщение прошлой даты. Мне нужно написать этот запрос в сиквелизе. Я получаю неизвестную ошибку столбца postModel.DATE (published_at) 'Мой запрос на продолжение похож на этот -

postModel.findAndCountAll({
               include:[
                { model:userModel, 
                  where: { user_id:  user_id},
                  required:false
                  },
                ],
                order: [
                   [ 'DATE(published_at) = DATE(NOW())', 'DESC']
                ],
                limit: limit,
                offset: offset,
                      
        });

Следующий необработанный запрос мне подходит

SELECT * FROM posts as P JOIN user as U ON U.id = P.user_id
where
ORDER BY
    DATE(P.published_at)=DATE(NOW()) DESC,
    DATE(P.published_at)<DATE(NOW()) DESC,
    DATE(P.published_at)>DATE(NOW()) ASC`

1 Ответ

0 голосов
/ 14 июля 2020

удалите функцию даты и запросите вот так.

postModel.findAndCountAll({
  include: [{ model: userModel, where: { user_id: user_id },required:false }],
  where: {
    published_at: {
      [Op.eq]: Date(NOW()),
    },
  },
  order: [["published_at", "DESC"]],
  limit: limit,
  offset: offset,
});
...