我创建了一个带有两个模型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(),这也是一个失败。
帮助我。
答案 0 :(得分:1)
对我来说,这是有效的;)
Person.find().populate('department', {
where: {
DepartmentName: {
'startsWith': 'hr'
}
},
sort: 'DepartmentName desc'}
).exec(......);
有关详情,请点击此处:http://sailsjs.org/documentation/reference/waterline-orm/queries/populate 在填充集合关联
部分下