Documentation ¶
Index ¶
- func InitializeRelationships(v any) error
- func Load(tx *sqlx.Tx, v any, relation string) error
- func NewSelects() *selects
- func NewWheres() *wheres
- type AfterLoader
- type AfterSaver
- type BeforeSaver
- type BelongsTo
- type Builder
- func (b *Builder[T]) AddGroupBy(columns ...string) *Builder[T]
- func (b *Builder[T]) AddSelect(columns ...string) *Builder[T]
- func (b *Builder[T]) AddSelectFunction(function, column string) *Builder[T]
- func (b *Builder[T]) AddSelectSubquery(sb QueryBuilder) *Builder[T]
- func (b *Builder[T]) And(cb func(b *WhereList)) *Builder[T]
- func (b *Builder[T]) Clone() *Builder[T]
- func (b *Builder[T]) Distinct() *Builder[T]
- func (b *Builder[T]) Dump() *Builder[T]
- func (b *Builder[T]) Find(tx *sqlx.Tx, primaryKeyValues ...any) (T, error)
- func (b *Builder[T]) FindContext(ctx context.Context, tx *sqlx.Tx, primaryKeyValues ...any) (T, error)
- func (b *Builder[T]) First(tx *sqlx.Tx) (T, error)
- func (b *Builder[T]) FirstContext(ctx context.Context, tx *sqlx.Tx) (T, error)
- func (b *Builder[T]) From(table string) *Builder[T]
- func (b *Builder[T]) Get(tx *sqlx.Tx) ([]T, error)
- func (b *Builder[T]) GetContext(ctx context.Context, tx *sqlx.Tx) ([]T, error)
- func (b *Builder[T]) GroupBy(columns ...string) *Builder[T]
- func (b *Builder[T]) Having(column, operator string, value any) *Builder[T]
- func (b *Builder[T]) HavingAnd(cb func(b *WhereList)) *Builder[T]
- func (b *Builder[T]) HavingColumn(column, operator string, valueColumn string) *Builder[T]
- func (b *Builder[T]) HavingExists(query QueryBuilder) *Builder[T]
- func (b *Builder[T]) HavingIn(column string, values []any) *Builder[T]
- func (b *Builder[T]) HavingOr(cb func(b *WhereList)) *Builder[T]
- func (b *Builder[T]) Join() *Builder[T]
- func (b *Builder[T]) Limit(limit int) *Builder[T]
- func (b *Builder[T]) Load(tx *sqlx.Tx, v any) error
- func (b *Builder[T]) LoadContext(ctx context.Context, tx *sqlx.Tx, v any) error
- func (b *Builder[T]) LoadOne(tx *sqlx.Tx, v any) error
- func (b *Builder[T]) LoadOneContext(ctx context.Context, tx *sqlx.Tx, v any) error
- func (b *Builder[T]) Offset(offset int) *Builder[T]
- func (b *Builder[T]) Or(cb func(b *WhereList)) *Builder[T]
- func (b *Builder[T]) OrHaving(column, operator string, value any) *Builder[T]
- func (b *Builder[T]) OrHavingColumn(column, operator string, valueColumn string) *Builder[T]
- func (b *Builder[T]) OrHavingExists(query QueryBuilder) *Builder[T]
- func (b *Builder[T]) OrHavingIn(column string, values []any) *Builder[T]
- func (b *Builder[T]) OrWhere(column, operator string, value any) *Builder[T]
- func (b *Builder[T]) OrWhereColumn(column, operator string, valueColumn string) *Builder[T]
- func (b *Builder[T]) OrWhereExists(query QueryBuilder) *Builder[T]
- func (b *Builder[T]) OrWhereIn(column string, values []any) *Builder[T]
- func (b *Builder[T]) OrderBy(column string) *Builder[T]
- func (b *Builder[T]) OrderByDesc(column string) *Builder[T]
- func (b *Builder[T]) Select(columns ...string) *Builder[T]
- func (b *Builder[T]) SelectFunction(function, column string) *Builder[T]
- func (b *Builder[T]) SelectSubquery(sb QueryBuilder) *Builder[T]
- func (b *Builder[T]) ToSQL(d dialects.Dialect) (string, []any, error)
- func (b *Builder[T]) Where(column, operator string, value any) *Builder[T]
- func (b *Builder[T]) WhereColumn(column, operator string, valueColumn string) *Builder[T]
- func (b *Builder[T]) WhereExists(query QueryBuilder) *Builder[T]
- func (b *Builder[T]) WhereIn(column string, values []any) *Builder[T]
- type HasMany
- type HasOne
- type Join
- type QueryBuilder
- type Relationship
- type WhereList
- func (w *WhereList) And(cb func(w *WhereList)) *WhereList
- func (w *WhereList) Clone() *WhereList
- func (w *WhereList) Or(cb func(w *WhereList)) *WhereList
- func (w *WhereList) OrWhere(column, operator string, value any) *WhereList
- func (w *WhereList) OrWhereColumn(column, operator string, valueColumn string) *WhereList
- func (w *WhereList) OrWhereExists(query QueryBuilder) *WhereList
- func (w *WhereList) OrWhereIn(column string, values []any) *WhereList
- func (w *WhereList) ToSQL(d dialects.Dialect) (string, []any, error)
- func (w *WhereList) Where(column, operator string, value any) *WhereList
- func (w *WhereList) WhereColumn(column, operator string, valueColumn string) *WhereList
- func (w *WhereList) WhereExists(query QueryBuilder) *WhereList
- func (w *WhereList) WhereIn(column string, values []any) *WhereList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitializeRelationships ¶
func NewSelects ¶
func NewSelects() *selects
Types ¶
type BeforeSaver ¶
type BelongsTo ¶
func (*BelongsTo[T]) Initialize ¶
func (r *BelongsTo[T]) Initialize(parent any, field reflect.StructField) error
func (*BelongsTo[T]) Load ¶
func (r *BelongsTo[T]) Load(tx *sqlx.Tx, relations []Relationship) error
func (*BelongsTo) MarshalJSON ¶
type Builder ¶
func (*Builder[T]) AddGroupBy ¶
func (*Builder[T]) AddSelectFunction ¶ added in v0.4.1
func (*Builder[T]) AddSelectSubquery ¶
func (b *Builder[T]) AddSelectSubquery(sb QueryBuilder) *Builder[T]
func (*Builder[T]) FindContext ¶
func (*Builder[T]) FirstContext ¶
func (*Builder[T]) GetContext ¶
func (*Builder[T]) HavingColumn ¶ added in v0.4.0
func (*Builder[T]) HavingExists ¶ added in v0.4.0
func (b *Builder[T]) HavingExists(query QueryBuilder) *Builder[T]
func (*Builder[T]) LoadContext ¶ added in v0.3.2
func (*Builder[T]) LoadOneContext ¶ added in v0.3.2
func (*Builder[T]) OrHavingColumn ¶ added in v0.4.0
func (*Builder[T]) OrHavingExists ¶ added in v0.4.0
func (b *Builder[T]) OrHavingExists(query QueryBuilder) *Builder[T]
func (*Builder[T]) OrHavingIn ¶ added in v0.4.0
func (*Builder[T]) OrWhereColumn ¶
func (*Builder[T]) OrWhereExists ¶ added in v0.4.0
func (b *Builder[T]) OrWhereExists(query QueryBuilder) *Builder[T]
func (*Builder[T]) OrderByDesc ¶ added in v0.4.2
func (*Builder[T]) SelectFunction ¶ added in v0.4.0
func (*Builder[T]) SelectSubquery ¶
func (b *Builder[T]) SelectSubquery(sb QueryBuilder) *Builder[T]
func (*Builder[T]) WhereColumn ¶
func (*Builder[T]) WhereExists ¶ added in v0.4.0
func (b *Builder[T]) WhereExists(query QueryBuilder) *Builder[T]
type HasMany ¶
func (*HasMany[T]) Initialize ¶
func (r *HasMany[T]) Initialize(parent any, field reflect.StructField) error
func (*HasMany) MarshalJSON ¶
type HasOne ¶
func (*HasOne[T]) Initialize ¶
func (r *HasOne[T]) Initialize(parent any, field reflect.StructField) error
func (*HasOne[T]) Loaded ¶
func (r *HasOne[T]) Query() *selects.Builder { var related T local, ok := builder.GetValue(r.parent, r.localKey) if !ok { panic(fmt.Errorf("no local key %s", r.localKey)) } return selects.New(). Select("*"). From(builder.GetTable(related)). Where(r.foreignKey, "=", local). Limit(1) }
func (*HasOne) MarshalJSON ¶
type QueryBuilder ¶ added in v0.4.1
type Relationship ¶
type Relationship interface { // Query() *selects.Builder Initialize(self any, field reflect.StructField) error Load(tx *sqlx.Tx, relations []Relationship) error Loaded() bool }
type WhereList ¶
type WhereList struct {
// contains filtered or unexported fields
}
func NewWhereList ¶
func NewWhereList() *WhereList
func (*WhereList) OrWhereColumn ¶
func (*WhereList) OrWhereExists ¶ added in v0.4.0
func (w *WhereList) OrWhereExists(query QueryBuilder) *WhereList
func (*WhereList) WhereColumn ¶
func (*WhereList) WhereExists ¶ added in v0.4.0
func (w *WhereList) WhereExists(query QueryBuilder) *WhereList
Click to show internal directories.
Click to hide internal directories.