【问题标题】:Strapi deep sortStrapi 深度排序
【发布时间】:2022-01-25 18:39:59
【问题描述】:

假设我在 modelB 上有一个带有 ForeignKey 的 modelA

api/modelA/services/modelA.js,我可以定义:

// [...]
module.exports = {
  /**
   * Promise to fetch all records
   *
   * @return {Promise}
   */
  find (params, populate) {
    params = {
      ...params,

      _sort: 'field_from_model_a:DESC,other_field_model_a:ASC'
    }
    populate = [
      'modelB'
    ]
    return strapi.query('post').find(params, populate)
  },
// [...]

这允许我对查询进行排序,并且我还可以在使用时过滤深层关系

curl -X GET "http://localhost:1337/modelA?modelB.field_from_model_b=example_value

但我找不到如何对modelB.some_field 进行排序。

如果我写 _sort: 'modelB.field_model_b:ASC',我会收到一条错误消息:缺少表“modelB”的 FROM 子句条目

【问题讨论】:

    标签: strapi


    【解决方案1】:

    从 Strapi v3.4.2 开始提供深度排序 看看 Strapi release v3.4.2

    【讨论】:

      【解决方案2】:

      确实,从Strapi release v3.4.2 开始,您似乎可以对查询进行深度排序。耶!

      你可以在strapi项目的测试here中找到一个例子。

      这是语法(正如我最初的问题所预期的那样):

      {
        // ...
        _sort: 'modelB.field_model_b:ASC'
      }
      

      【讨论】:

        猜你喜欢
        • 2011-05-17
        • 1970-01-01
        • 2013-11-10
        • 2021-12-15
        • 2011-08-27
        • 1970-01-01
        • 1970-01-01
        • 2014-08-12
        • 2019-09-25
        相关资源
        最近更新 更多