[feat] 新增 orm helper

This commit is contained in:
2023-04-20 16:50:48 +08:00
parent a8d2320945
commit 1ce61a8377
5 changed files with 37 additions and 39 deletions

View File

@@ -1 +0,0 @@
package orm

View File

@@ -1,36 +0,0 @@
package orm
import (
"git.fsdpf.net/go/contracts"
"git.fsdpf.net/go/db"
)
type OrderByDirection string
type OrderByType string
const (
OrderByDirection_ASC OrderByDirection = db.ORDER_ASC
OrderByDirection_DESC OrderByDirection = db.ORDER_DESC
)
type OrderBy struct {
sql string // SQL 或 字段
direction OrderByDirection // 排序方向
}
func NewOrderBy(sql string, params ...OrderByDirection) contracts.OrderBy {
direction := OrderByDirection_ASC
if len(params) > 0 {
direction = params[0]
}
return OrderBy{sql, direction}
}
func (this OrderBy) ToSql() db.Expression {
return db.Raw(this.sql + " " + string(this.direction))
}
func (this OrderBy) Inject(dbBuilder *db.Builder, m contracts.Model) {
dbBuilder.OrderBy(this.ToSql())
}

View File

@@ -1 +0,0 @@
package orm