Sails js按填充字段排序

时间:2016-09-29 08:13:43

标签: mysql node.js orm sails.js waterline

我需要在相关表行的MySQL数据库中对数据进行排序。

假设我们有两个模型:

ModelOne:

module.exports = {

  tableName: 'modelOne',

  attributes: {

     // some atributes.........

     modelTwo{
        model: 'ModelTwo',
        columnName: 'model_two_id'
     }
   }
} 

ModelTwo:

module.exports = {

  tableName: 'modelTwo',

  attributes: {
     // some atributes.........

     model_two_id: {
        type: 'integer',
        autoIncrement: true,
        primaryKey: true
     },
     name: 'string'
   }
}

我想做点什么:

ModelOne
  .find(find_criteria)
  .populateAll()
  .paginate({page: page, limit: limit})
  .sort('modelTwo.name')
  .then(...)

是否有可能这样做,或者我需要在不使用Waterline函数的情况下编写SQL查询?

2 个答案:

答案 0 :(得分:0)

没有。深度人口排序将在未来列表https://github.com/balderdashy/waterline/issues/266

答案 1 :(得分:0)

我就是这样做的......

ModelOne
  .find(find_criteria)
  .populate('modelTwo', {sort: 'name ASC'})
  .paginate({page: page, limit: limit})
  .then(...)

如您所见,您可以将{sort}对象传递给populate方法。