Files
aorm/builder/select.go
tangpanqing 8e1910c6da update
2023-01-05 22:17:38 +08:00

60 lines
2.0 KiB
Go

package builder
func (b *Builder) SelectAll(table interface{}) *Builder {
return b.selectCommon("", "*", nil, getTableNameByTable(table))
}
// Select 链式操作-查询哪些字段,默认 *
func (b *Builder) Select(field interface{}, prefix ...string) *Builder {
return b.selectCommon("", field, nil, prefix...)
}
func (b *Builder) SelectAs(field interface{}, fieldNew interface{}, prefix ...string) *Builder {
return b.selectCommon("", field, fieldNew, prefix...)
}
// SelectCount 链式操作-count(field) as field_new
func (b *Builder) SelectCount(field interface{}, fieldNew interface{}, prefix ...string) *Builder {
return b.selectCommon("count", field, fieldNew, prefix...)
}
// SelectSum 链式操作-sum(field) as field_new
func (b *Builder) SelectSum(field interface{}, fieldNew interface{}, prefix ...string) *Builder {
return b.selectCommon("sum", field, fieldNew, prefix...)
}
// SelectMin 链式操作-min(field) as field_new
func (b *Builder) SelectMin(field interface{}, fieldNew interface{}, prefix ...string) *Builder {
return b.selectCommon("min", field, fieldNew, prefix...)
}
// SelectMax 链式操作-max(field) as field_new
func (b *Builder) SelectMax(field interface{}, fieldNew interface{}, prefix ...string) *Builder {
return b.selectCommon("max", field, fieldNew, prefix...)
}
// SelectAvg 链式操作-avg(field) as field_new
func (b *Builder) SelectAvg(field interface{}, fieldNew interface{}, prefix ...string) *Builder {
return b.selectCommon("avg", field, fieldNew, prefix...)
}
func (b *Builder) selectCommon(funcName string, field interface{}, fieldNew interface{}, prefix ...string) *Builder {
b.selectList = append(b.selectList, SelectItem{
funcName,
getPrefixByField(field, prefix...),
field,
fieldNew,
})
return b
}
// SelectExp 链式操作-表达式
func (b *Builder) SelectExp(dbSub **Builder, fieldName string) *Builder {
//ex.selectExpList = append(ex.selectExpList, &SelectItem{
// Executor: dbSub,
// FieldName: fieldName,
//})
return b
}