feat: chainable order support clause.OrderBy

This commit is contained in:
supergem3000 2024-06-07 16:56:41 +08:00 committed by GitHub
parent 5e599a07ec
commit 81af77620e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -299,10 +299,16 @@ func (db *DB) Having(query interface{}, args ...interface{}) (tx *DB) {
// //
// db.Order("name DESC") // db.Order("name DESC")
// db.Order(clause.OrderByColumn{Column: clause.Column{Name: "name"}, Desc: true}) // db.Order(clause.OrderByColumn{Column: clause.Column{Name: "name"}, Desc: true})
// db.Order(clause.OrderBy{Columns: []clause.OrderByColumn{
// {Column: clause.Column{Name: "name"}, Desc: true},
// {Column: clause.Column{Name: "age"}, Desc: true},
// }})
func (db *DB) Order(value interface{}) (tx *DB) { func (db *DB) Order(value interface{}) (tx *DB) {
tx = db.getInstance() tx = db.getInstance()
switch v := value.(type) { switch v := value.(type) {
case clause.OrderBy:
tx.Statement.AddClause(v)
case clause.OrderByColumn: case clause.OrderByColumn:
tx.Statement.AddClause(clause.OrderBy{ tx.Statement.AddClause(clause.OrderBy{
Columns: []clause.OrderByColumn{v}, Columns: []clause.OrderByColumn{v},