我正在尝试通过目前正在运行的列来命令我的集合获取结果,但我希望排序不区分大小写。我已经浏览了书架文档,并在这里和其他论坛搜索无济于事。是否需要一些原始的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'
]
});
OR:
new Recipes().query('orderBy', LOWER('name'), 'asc').fetch({
withRelated: [
{ instructions: (query) => { query.orderBy('step_number'); }},
'tags',
'ingredients',
'ingredients.alternatives',
'ingredients.tags'
]
});
答案 0 :(得分:2)
请按以下方式尝试
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取决于操作系统