From 0c66383e6a2904031d8bed2ee7b6042fb6d3e680 Mon Sep 17 00:00:00 2001 From: bestgopher <84328409@qq.com> Date: Tue, 30 Nov 2021 21:44:10 +0800 Subject: [PATCH] feat(order): support call Order once to order by multi fields --- chainable_api.go | 6 ++++++ clause/order_by.go | 2 ++ 2 files changed, 8 insertions(+) diff --git a/chainable_api.go b/chainable_api.go index 173479d3..b69c00de 100644 --- a/chainable_api.go +++ b/chainable_api.go @@ -219,6 +219,12 @@ func (db *DB) Order(value interface{}) (tx *DB) { tx.Statement.AddClause(clause.OrderBy{ Columns: []clause.OrderByColumn{v}, }) + + case clause.OrderByColumns: + tx.Statement.AddClause(clause.OrderBy{ + Columns: v, + }) + case string: if v != "" { tx.Statement.AddClause(clause.OrderBy{ diff --git a/clause/order_by.go b/clause/order_by.go index 41218025..0a300481 100644 --- a/clause/order_by.go +++ b/clause/order_by.go @@ -6,6 +6,8 @@ type OrderByColumn struct { Reorder bool } +type OrderByColumns = []OrderByColumn + type OrderBy struct { Columns []OrderByColumn Expression Expression