field

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyFieldMaskSelect

func ApplyFieldMaskSelect(apply func(...string), mask *fieldmaskpb.FieldMask)

ApplyFieldMaskSelect 将 fieldmask 转换为 snake_case 并通过 apply 回调传入。 - apply: 接受归一化字段并调用,例如: func(ps ...string) { builder.Select(ps...) } - mask: 传入的 FieldMask,nil 或 空时不做任何操作

func ApplyFieldMaskToBuilder

func ApplyFieldMaskToBuilder[R any, B interface{ Select(fields ...string) R }](builder B, mask *fieldmaskpb.FieldMask) (R, bool)

ApplyFieldMaskToBuilder 接受一个带 Select(...string) 方法的 builder 和 FieldMask, 将 paths 归一化为 snake_case(并将 id_/_id 归为 id),然后调用 builder.Select(paths...) 并返回 builder。 - R 是 Select 方法的返回类型(例如 *ent.UserSelect) - B 是拥有 Select(...string) R 方法的类型(例如 *ent.UserQuery) 返回 (R, bool): bool 表示是否实际调用了 Select(即 mask 非空)。

func NormalizeFieldMaskPaths

func NormalizeFieldMaskPaths(fm *fieldmaskpb.FieldMask)

NormalizeFieldMaskPaths normalizes the paths in the given FieldMask to snake_case

func NormalizePaths

func NormalizePaths(paths []string) []string

NormalizePaths normalizes a slice of paths to snake_case

Types

type Selector

type Selector struct{}

Selector 字段选择器,用于构建SELECT语句中的字段列表。

func NewFieldSelector

func NewFieldSelector() *Selector

func (Selector) BuildSelect

func (fs Selector) BuildSelect(s *sql.Selector, fields []string)

BuildSelect 构建字段选择

func (Selector) BuildSelectWithTable

func (fs Selector) BuildSelectWithTable(s *sql.Selector, table string, fields []string)

BuildSelectWithTable 构建字段选择,给未带点的字段前置 table 名称

func (Selector) BuildSelector

func (fs Selector) BuildSelector(fields []string) (func(s *sql.Selector), error)

BuildSelector 构建字段选择器

func (Selector) BuildSelectorWithTable

func (fs Selector) BuildSelectorWithTable(table string, fields []string) (func(s *sql.Selector), error)

BuildSelectorWithTable 构建字段选择器并指定表名

Jump to

Keyboard shortcuts

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