4

好的,所以我设法使用它来获得默认的排序顺序(谢谢):

如何在 FeathersJs 中设置默认排序顺序

这是从 mssql 中提取数据

我在钩子中添加了一个包含以获取相关实体。

app.service("invoices").hooks({
  before(context) {
    const AssociatedModel = context.app.services.parcels.Model;
    context.params.sequelize = {
       include: [{ model: AssociatedModel }]
    };

    let { query = {} } = context.params;
    console.log(query)
    if (!query.$sort) {
      query.$sort = {
        id: -1
      };
    }
    context.params.query = query;
  }
});

生成的 SQL 语句结束

ORDER BY [Invoice].[id] DESC, [Invoice].[id] OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY;

我得到了错误;

“在 order by 列表中多次指定了一个列。order by 列表中的列必须是唯一的。”

在我将相关实体放入之前,它运行良好 - 但这会中断。也许它与这个老虫子之类的东西有关..? Sequelize mssql:按主键和限制排序

或者,也许我执行不正确。

4

0 回答 0