where()和sort()不适用于风帆中的填充记录

时间:2015-10-13 07:27:25

标签: sorting sails.js waterline populate

我创建了一个带有两个模型Person和Department的Sails应用程序。 它们具有一对一的关系.Sails-mysql是适配器使用。当我尝试使用where()或sort()条件填充部门详细信息时,结果记录未排序或where()是没有申请。

Person.js

attributes: {
firstname:{
            alpha:true,
            required:true
        },
        lastname:{
            alpha:true,
            required:true
        },
        age:{
            numeric:true,
            required:true
        },
        department:{
            model:'Department'
        }
  }

Department.js

attributes: {
DepartmentName:{
        required:true,
        alpha:true
  },
  Description:{
        required:true,
        alpha:true
  },
  //relation
  person:{
      model:'Person'
  }

}

PersonController.js

Person.find().populate('department').where({DepartmentName:{"startsWith":"hr"}}).sort('Description desc').exec(console.log);

无效。

我在所有可能的方式尝试了where()和sort(),如

var sort='DepartmentName desc';

并在populate()中传递该变量,如下所示:

Person.find().populate('department',sort).exec(console.log);

但这也行不通。以同样的方式我尝试了where(),这也是一个失败。

帮助我。

1 个答案:

答案 0 :(得分:1)

对我来说,这是有效的;)

Person.find().populate('department', {
                where: {
                    DepartmentName: {
                        'startsWith': 'hr'
                    }
                },
                sort: 'DepartmentName desc'}
            ).exec(......);

有关详情,请点击此处:http://sailsjs.org/documentation/reference/waterline-orm/queries/populate填充集合关联

部分下