【问题标题】:Sequelize - SQL Server - order by for association tablesSequelize - SQL Server - 关联表的排序
【发布时间】:2018-02-12 02:48:09
【问题描述】:

我有 3 个表,例如 useruserProfileuserProfileImagesUseruserPrfoile 映射有很多,userProfileuserProfileImages 映射有很多。

我需要在userProfileImages 中写order by query,我尝试如下,但没有运气。

User.findById(uID, { 
include: [
   model: sequelize.models.userProfile
   as: userProfile,
   include: [
    {
      model: sequelize.models.userProfileImages,
      as: 'profileImages',

    }
   ],
    order: [[sequelize.models.userProfileImages.id, "desc"]]
  // order: [["id", "desc"]] --> Tried this way also no luck
] }

我得到了结果,但userProfilePicture 表的结果与 desc 不一样。

请给出解决方案

【问题讨论】:

  • 请尝试使用单个数组而不是二维数组,例如:["id", "desc"]
  • 我试过了,还是不行。还有一件事,我在第二个包含中也做了一个映射。作为
  • 我的查询中也没有附加按关键字排序。

标签: node.js express sequelize.js


【解决方案1】:

来自 Sequelize 官方文档:

    // Will order by an associated model's created_at using an association object. (preferred method)
    [Subtask.associations.Task, 'createdAt', 'DESC'],

    // Will order by a nested associated model's created_at using association objects. (preferred method)
    [Subtask.associations.Task, Task.associations.Project, 'createdAt', 'DESC'],

通过参考上述语法,更新您的订单选项,如下所示

User.findById(uID, { 
    include: [{
        model: sequelize.models.userProfile
        as: userProfile,
        include: [{
           model: sequelize.models.userProfileImages,
           as: 'profileImages',
        }],
        order: [['profileImages','id', 'desc']]
    }]
});

官方文档:http://docs.sequelizejs.com/manual/tutorial/querying.html#ordering

更多解决方案请参考本帖:https://github.com/sequelize/sequelize/issues/4553

【讨论】:

  • 终于有东西了 :),谢谢朋友。
【解决方案2】:

如下所示更新您的订单

User.findById(uID, { 
include: [
    model: sequelize.models.userProfile,
    as: userProfile,        
    include: [{
       model: sequelize.models.userProfileImages,
       as: 'profileImages',
       separate:true
       order: [['id', 'desc']]
    }],
]});

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多