按关联模型的字段排序

时间:2019-10-06 21:25:55

标签: sequelize.js

我有聊天,用户和消息模型,消息属于用户,聊天可以有多个用户,而用户可以有多个聊天。我有一个有效的Sequelize方法chat.getUsers(),它返回未排序的用户,并且我希望用户按该聊天中上一条消息的createdAt进行排序。

到目前为止,我是这样的:

     UserModel.findAll({
        include: [
          {
            model: ChatModel,
            where: { id: chat.id },
            include: [
              {
                model: MessageModel,
              },
            ],
            order: [[MessageModel, 'createdAt', 'DESC']],
          },
        ],
      });

where部分正确过滤了用户,但order部分不执行任何操作。

这是完整的数据库结构:

enter image description here

1 个答案:

答案 0 :(得分:1)

    isFirst :: (Eq a) => a -> [(a,b)] -> Bool
    isFirst _ [] = False
    isFirst x [(y1, y2)] = x == y1
    isFirst x  ((y1, y2):l) = if y1 : isFirst l then True 
                                else False

来源:http://sequelize.org/master/manual/querying.html