使用Sequelize.js findAll对连接表中的字段进行排序的正式和正确的语法
Formal and correct syntax to sort a field from the joined table using Sequelize.js findAll
我有两个表 - Customer
和 Orders
处于一对多关系。我正在使用findAll((查询两个表,并尝试按降序对Orders.orderDate
进行排序。以下都是错误的和结果查询错误。
语法错误 (1(
Customer.findAll({
order: [["orderDate", "DESC"]],
include: [Order]
}, {
raw: true
}).then(function(data) {
console.log(data);
});
// Generated order by clause
// ORDER BY "Customer"."orderDate" DESC;
语法错误 (2(
Customer.findAll({
order: [["Orders.orderDate", "DESC"]],
include: [Order]
}, {
raw: true
}).then(function(data) {
console.log(data);
});
// Generated order by clause
// ORDER BY "Customer"."Orders"."orderDate" DESC;
语法错误 (3(
Customer.findAll({
order: ["Orders.orderDate", "DESC"],
include: [Order]
}, {
raw: true
}).then(function(data) {
console.log(data);
});
// Generated order by clause
// ORDER BY "Orders"."orderDate", "DESC";
语法错误 (4(
Customer.findAll({
order: ["Orders.orderDate DESC"],
include: [Order]
}, {
raw: true
}).then(function(data) {
console.log(data);
});
// Generated order by clause
// ORDER BY "Orders"."orderDate DESC";
以下是我让它工作的一个:
Customer.findAll({
order: '"Orders"."orderDate" DESC',
include: [Order]
}, {
raw: true
}).then(function(data) {
console.log(data);
});
// Generated order by clause
// ORDER BY "Orders"."orderDate" DESC;
但是,我怀疑它不可能是正式且正确的,因为我必须手动添加双引号。在上述错误的语法示例中,表名和字段名称周围自动添加引号。
我正在使用Sequelize 2.0.0-rc3和PostgreSQL。
我刚刚找到了一个正确的用法。模型对象必须在order
选项的数组中给出。
Customer.findAll({
order: [[ Order, "orderdate", "DESC" ]],
include: [Order]
}, {
raw: true
}).then(function(data) {
console.log(data);
});
// Generated order by clause
// ORDER BY "Orders"."orderDate" DESC;
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 使用promise和mongoose对文档进行排序
- Selectize.js:如何对整数值的选项进行排序
- Javascript排序的图像弹出窗口..可以't单独弹出
- 如何通过引用var Using DataTables来进行分页或排序
- 铬:“;未捕获的语法错误:意外的标记:"
- jQuery语法添加了var
- Javascript未捕获语法错误意外的标识符错误
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 为什么忽略了eval()代码中的语法错误
- 难以访问的JS环境中的语法错误
- 如何告诉MathJax对下标使用替代语法
- Javascript语法向设置发出sessionStorage值
- AngularJs对所有页面中的所有记录进行排序
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 未捕获的语法错误:意外的标记{
- 按从高到低对多个int变量进行排序
- jQuery UI可排序-多连接列表拖动
- 使用Sequelize.js findAll对连接表中的字段进行排序的正式和正确的语法
- jQuery可排序UI语法问题