我正试图按一列排序我的集合获取结果,该列目前正在工作,但我希望排序不区分大小写。我翻阅了书架上的文档,在这里和其他论坛上到处搜索都没有结果。是否需要插入一些未加工的Knex?任何帮助都非常感谢。
这是我的代码:

new Recipes().query('orderBy', 'name', 'asc').fetch({
  withRelated: [
    { instructions: (query) => { query.orderBy('step_number'); }},
    'tags',
    'ingredients',
    'ingredients.alternatives',
    'ingredients.tags'
  ]
});

我想做些类似的事情:
new Recipes().query('orderByIgnoreCase', 'name', 'asc').fetch({
  withRelated: [
    { instructions: (query) => { query.orderBy('step_number'); }},
    'tags',
    'ingredients',
    'ingredients.alternatives',
    'ingredients.tags'
  ]
});

或:
new Recipes().query('orderBy', LOWER('name'), 'asc').fetch({
  withRelated: [
    { instructions: (query) => { query.orderBy('step_number'); }},
    'tags',
    'ingredients',
    'ingredients.alternatives',
    'ingredients.tags'
  ]
});

最佳答案

请按以下步骤尝试

Recipes.query(function (qb) {
  qb.orderByRaw('LOWER(name) asc');
})
.fetchAll({
  withRelated: [{
    'instructions': (query) => query.orderBy('step_number'),
    'tags',
    'ingredients',
    'ingredients.alternatives',
    'ingredients.tags'
  }]
})

值得注意的是postgresql sorting依赖于操作系统

关于node.js - 书架顺序忽略大小写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44376654/

10-10 09:08