table

package
v0.4.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2024 License: MIT Imports: 13 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

View Source
var InsertError = errors.New("insert statement execution failed")
View Source
var UpdateErr = errors.New("update statement execution failed")

Functions

func Auth added in v0.2.0

func Auth[T contracts.Authenticatable](class contracts.Class[T], table, primaryKey string) contracts.QueryBuilder[T]

func SetFactory added in v0.1.15

func SetFactory(dbFactory contracts.DBFactory)

func WithTX

func WithTX[T any](name string, tx contracts.DBTx) contracts.QueryBuilder[T]

WithTX 使用TX

Types

type CreateException

type CreateException = Exception

type DeleteException

type DeleteException = Exception

type Exception added in v0.1.14

type Exception struct {
	Sql      string
	Bindings []any
	Err      error
	// contains filtered or unexported fields
}

func (*Exception) Error added in v0.1.14

func (e *Exception) Error() string

func (*Exception) GetPrevious added in v0.1.14

func (e *Exception) GetPrevious() contracts.Exception

type InsertException

type InsertException = Exception

type InstanceFactory added in v0.4.4

type InstanceFactory[T any] func(fields contracts.Fields) *T

type Model

type Model[T any] struct {
	Class contracts.Class[T]
	Table string

	PrimaryKeyField string
	Data            *T
	Value           reflect.Value
	// contains filtered or unexported fields
}

func (Model[T]) Delete added in v0.3.0

func (model Model[T]) Delete() contracts.Exception

func (Model[T]) Exists added in v0.3.0

func (model Model[T]) Exists() bool

func (Model[T]) GetClass added in v0.3.0

func (model Model[T]) GetClass() contracts.Class[T]

func (Model[T]) GetConnection added in v0.3.0

func (model Model[T]) GetConnection() string

func (Model[T]) GetPrimaryKey added in v0.3.0

func (model Model[T]) GetPrimaryKey() any

func (Model[T]) GetTable added in v0.3.0

func (model Model[T]) GetTable() string

func (Model[T]) Refresh added in v0.3.0

func (model Model[T]) Refresh() contracts.Exception

func (Model[T]) Save added in v0.3.0

func (model Model[T]) Save() contracts.Exception

func (Model[T]) Update added in v0.3.0

func (model Model[T]) Update(fields contracts.Fields) contracts.Exception

type NotFoundException

type NotFoundException = Exception

type SelectException

type SelectException = Exception

type Table

type Table[T any] struct {
	*querybuilder.Builder[T]

	UpdatedTimeColumn string
	// contains filtered or unexported fields
}

func ArrayQuery added in v0.2.0

func ArrayQuery(name string) *Table[contracts.Fields]

func Class added in v0.2.0

func Class[T any](class contracts.Class[T], table string) *Table[T]

func NewQuery added in v0.4.4

func NewQuery[T any](name string, factory InstanceFactory[T]) *Table[T]

NewQuery 将使用默认 connection

func Query

func Query[T any](name string) *Table[T]

Query 将使用默认 connection

func WithConnection

func WithConnection[T any](name string, connection any) *Table[T]

WithConnection 使用指定链接

func (*Table[T]) Avg

func (table *Table[T]) Avg(column string) float64

Avg 检索给定列的平均值 Retrieve the average of the values of a given column.

func (*Table[T]) AvgE added in v0.2.0

func (table *Table[T]) AvgE(column string) (float64, contracts.Exception)

func (*Table[T]) Chunk

func (table *Table[T]) Chunk(size int, handler func(collection contracts.Collection[*T], page int) contracts.Exception) (err contracts.Exception)

func (*Table[T]) ChunkById

func (table *Table[T]) ChunkById(size int, handler func(collection contracts.Collection[*T], page int) (any, contracts.Exception)) contracts.Exception

func (*Table[T]) ChunkByIdDesc added in v0.2.0

func (table *Table[T]) ChunkByIdDesc(size int, handler func(collection contracts.Collection[*T], page int) (any, contracts.Exception)) contracts.Exception

ChunkByIdDesc 通过比较 ID 对查询结果进行分块 chunk the results of a query by comparing IDs.

func (*Table[T]) Count

func (table *Table[T]) Count(columns ...string) int64

Count 检索查询的“count”结果 Retrieve the "count" result of the query.

func (*Table[T]) CountE added in v0.2.0

func (table *Table[T]) CountE(columns ...string) (int64, contracts.Exception)

func (*Table[T]) Create

func (table *Table[T]) Create(fields contracts.Fields) *T

Create 保存新模型并返回实例 Save a new model and return the instance.

func (*Table[T]) CreateE added in v0.2.0

func (table *Table[T]) CreateE(fields contracts.Fields) (*T, contracts.Exception)

func (*Table[T]) Delete

func (table *Table[T]) Delete() int64

func (*Table[T]) DeleteE added in v0.2.0

func (table *Table[T]) DeleteE() (int64, contracts.Exception)

func (*Table[T]) Find

func (table *Table[T]) Find(key any) *T

func (*Table[T]) FindOrFail added in v0.2.0

func (table *Table[T]) FindOrFail(key any) *T

FindOrFail 按 ID 对单个记录执行查询 Execute a query for a single record by ID.

func (*Table[T]) First

func (table *Table[T]) First() *T

func (*Table[T]) FirstE added in v0.2.0

func (table *Table[T]) FirstE() (*T, contracts.Exception)

func (*Table[T]) FirstOr added in v0.2.0

func (table *Table[T]) FirstOr(provider contracts.InstanceProvider[*T]) *T

FirstOr 执行查询并获得第一个结果或调用回调 Execute the query and get the first result or call a callback.

func (*Table[T]) FirstOrCreate

func (table *Table[T]) FirstOrCreate(where contracts.Fields, values ...contracts.Fields) *T

func (*Table[T]) FirstOrCreateE added in v0.2.0

func (table *Table[T]) FirstOrCreateE(where contracts.Fields, values ...contracts.Fields) (*T, contracts.Exception)

func (*Table[T]) FirstOrFail

func (table *Table[T]) FirstOrFail() *T

func (*Table[T]) FirstWhere added in v0.2.0

func (table *Table[T]) FirstWhere(column string, args ...any) *T

FirstWhere 向查询添加基本 where 子句,并返回第一个结果 Add a basic where clause to the query, and return the first result.

func (*Table[T]) FirstWhereE added in v0.2.0

func (table *Table[T]) FirstWhereE(column string, args ...any) (*T, contracts.Exception)

FirstWhereE 向查询添加基本 where 子句,并返回第一个结果 Add a basic where clause to the query, and return the first result.

func (*Table[T]) Get

func (table *Table[T]) Get() contracts.Collection[*T]

func (*Table[T]) GetClass added in v0.3.1

func (table *Table[T]) GetClass() contracts.Class[T]

func (*Table[T]) GetE added in v0.2.0

func (table *Table[T]) GetE() (contracts.Collection[*T], contracts.Exception)

func (*Table[T]) GetPrimaryKeyField added in v0.4.4

func (table *Table[T]) GetPrimaryKeyField() string

func (*Table[T]) GetTable added in v0.3.1

func (table *Table[T]) GetTable() string

func (*Table[T]) Insert

func (table *Table[T]) Insert(values ...contracts.Fields) bool

func (*Table[T]) InsertE added in v0.2.0

func (table *Table[T]) InsertE(values ...contracts.Fields) contracts.Exception

func (*Table[T]) InsertGetId

func (table *Table[T]) InsertGetId(values ...contracts.Fields) int64

func (*Table[T]) InsertGetIdE added in v0.2.0

func (table *Table[T]) InsertGetIdE(values ...contracts.Fields) (int64, contracts.Exception)

func (*Table[T]) InsertOrIgnore

func (table *Table[T]) InsertOrIgnore(values ...contracts.Fields) int64

func (*Table[T]) InsertOrIgnoreE added in v0.2.0

func (table *Table[T]) InsertOrIgnoreE(values ...contracts.Fields) (int64, contracts.Exception)

func (*Table[T]) InsertOrReplace

func (table *Table[T]) InsertOrReplace(values ...contracts.Fields) int64

InsertOrReplace 将新记录插入数据库,同时如果存在,则先删除此行数据,然后插入新的数据 Insert a new record into the database, and if it exists, delete this row of data first, and then insert new data.

func (*Table[T]) InsertOrReplaceE added in v0.2.0

func (table *Table[T]) InsertOrReplaceE(values ...contracts.Fields) (int64, contracts.Exception)

func (*Table[T]) Max

func (table *Table[T]) Max(column string) float64

Max 检索给定列的最大值 Retrieve the maximum value of a given column.

func (*Table[T]) MaxE added in v0.2.0

func (table *Table[T]) MaxE(column string) (float64, contracts.Exception)

func (*Table[T]) Min

func (table *Table[T]) Min(column string) float64

Min 检索给定列的最小值 Retrieve the minimum value of a given column.

func (*Table[T]) MinE added in v0.2.0

func (table *Table[T]) MinE(column string) (float64, contracts.Exception)

func (*Table[T]) Paginate added in v0.2.0

func (table *Table[T]) Paginate(perPage int64, current ...int64) (contracts.Collection[*T], int64)

Paginate 对给定的查询进行分页。 paginate the given query.

func (*Table[T]) SelectForUpdate added in v0.1.5

func (table *Table[T]) SelectForUpdate() contracts.Collection[*T]

func (*Table[T]) SelectForUpdateE added in v0.2.0

func (table *Table[T]) SelectForUpdateE() (contracts.Collection[*T], contracts.Exception)

func (*Table[T]) SetClass

func (table *Table[T]) SetClass(class contracts.Class[T]) *Table[T]

SetClass 设置类

func (*Table[T]) SetConnection

func (table *Table[T]) SetConnection(connection any) *Table[T]

SetConnection 参数要么是 contracts.DBConnection 要么是 string

func (*Table[T]) SetCreatedTimeColumn added in v0.2.6

func (table *Table[T]) SetCreatedTimeColumn(column string) *Table[T]

SetCreatedTimeColumn 设置创建时间字段

func (*Table[T]) SetExecutor

func (table *Table[T]) SetExecutor(executor contracts.SqlExecutor) contracts.QueryBuilder[T]

SetExecutor 参数必须是 contracts.DBTx 实例

func (*Table[T]) SetFactory added in v0.4.4

func (table *Table[T]) SetFactory(factory InstanceFactory[T]) *Table[T]

SetFactory 设置类

func (*Table[T]) SetPrimaryKey

func (table *Table[T]) SetPrimaryKey(name string) *Table[T]

SetPrimaryKey 设置主键

func (*Table[T]) SetUpdatedTimeColumn added in v0.2.6

func (table *Table[T]) SetUpdatedTimeColumn(column string) *Table[T]

SetUpdatedTimeColumn 设置更新时间字段

func (*Table[T]) SimplePaginate added in v0.2.0

func (table *Table[T]) SimplePaginate(perPage int64, current ...int64) contracts.Collection[*T]

SimplePaginate 将给定的查询分页成一个简单的分页器 paginate the given query into a simple paginator.

func (*Table[T]) Sum

func (table *Table[T]) Sum(column string) float64

Sum 检索给定列的值的总和 Retrieve the sum of the values of a given column.

func (*Table[T]) SumE added in v0.2.0

func (table *Table[T]) SumE(column string) (float64, contracts.Exception)

func (*Table[T]) Update

func (table *Table[T]) Update(fields contracts.Fields) int64

Update 更新数据库中的记录 update records in the database.

func (*Table[T]) UpdateE added in v0.2.0

func (table *Table[T]) UpdateE(fields contracts.Fields) (int64, contracts.Exception)

func (*Table[T]) UpdateOrCreate

func (table *Table[T]) UpdateOrCreate(attributes contracts.Fields, values contracts.Fields) *T

func (*Table[T]) UpdateOrCreateE added in v0.2.0

func (table *Table[T]) UpdateOrCreateE(attributes contracts.Fields, values contracts.Fields) (*T, contracts.Exception)

func (*Table[T]) UpdateOrInsert

func (table *Table[T]) UpdateOrInsert(attributes contracts.Fields, values contracts.Fields) bool

func (*Table[T]) UpdateOrInsertE added in v0.2.0

func (table *Table[T]) UpdateOrInsertE(attributes contracts.Fields, values contracts.Fields) contracts.Exception

type UpdateException

type UpdateException = Exception

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL