|
|
@@ -19,10 +19,11 @@ import (
|
|
|
|
|
|
// ProjBusinessDynamicsDao is the manager for logic model data accessing and custom defined data operations functions management.
|
|
|
type ProjBusinessDynamicsDao struct {
|
|
|
- gmvc.M // M is the core and embedded struct that inherits all chaining operations from gdb.Model.
|
|
|
- C projBusinessDynamicsColumns // C is the short type for Columns, which contains all the column names of Table for convenient usage.
|
|
|
- DB gdb.DB // DB is the raw underlying database management object.
|
|
|
- Table string // Table is the underlying table name of the DAO.
|
|
|
+ gmvc.M // M is the core and embedded struct that inherits all chaining operations from gdb.Model.
|
|
|
+ C projBusinessDynamicsColumns // C is the short type for Columns, which contains all the column names of Table for convenient usage.
|
|
|
+ DB gdb.DB // DB is the raw underlying database management object.
|
|
|
+ Table string // Table is the underlying table name of the DAO.
|
|
|
+ TableAs string // TableAs is the underlying table alias name of the DAO.
|
|
|
}
|
|
|
|
|
|
// ProjBusinessDynamicsColumns defines and stores column names for table proj_business_dynamics.
|
|
|
@@ -102,7 +103,7 @@ func NewProjBusinessDynamicsDao(tenant string) ProjBusinessDynamicsDao {
|
|
|
// Note that this returned DB object can be used only once, so do not assign it to
|
|
|
// a global or package variable for long using.
|
|
|
func (d *ProjBusinessDynamicsDao) Ctx(ctx context.Context) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Ctx(ctx)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Ctx(ctx), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// GetCtx returns the context for current Model.
|
|
|
@@ -113,34 +114,34 @@ func (d *ProjBusinessDynamicsDao) GetCtx() context.Context {
|
|
|
|
|
|
// As sets an alias name for current table.
|
|
|
func (d *ProjBusinessDynamicsDao) As(as string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.As(as)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.As(as), Table: d.Table, TableAs: as}
|
|
|
}
|
|
|
|
|
|
// TX sets the transaction for current operation.
|
|
|
func (d *ProjBusinessDynamicsDao) TX(tx *gdb.TX) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.TX(tx)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.TX(tx), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Master marks the following operation on master node.
|
|
|
func (d *ProjBusinessDynamicsDao) Master() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Master()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Master(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Slave marks the following operation on slave node.
|
|
|
// Note that it makes sense only if there's any slave node configured.
|
|
|
func (d *ProjBusinessDynamicsDao) Slave() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Slave()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Slave(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Args sets custom arguments for model operation.
|
|
|
func (d *ProjBusinessDynamicsDao) Args(args ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Args(args...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Args(args...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Handler calls each of "handlers" on current Model and returns a new Model.
|
|
|
// ModelHandler is a function that handles given Model and returns a new Model that is custom modified.
|
|
|
func (d *ProjBusinessDynamicsDao) Handler(handlers ...gdb.ModelHandler) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Handler(handlers...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Handler(handlers...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// LeftJoin does "LEFT JOIN ... ON ..." statement on the model.
|
|
|
@@ -149,7 +150,7 @@ func (d *ProjBusinessDynamicsDao) Handler(handlers ...gdb.ModelHandler) *ProjBus
|
|
|
// Table("user").LeftJoin("user_detail", "user_detail.uid=user.uid")
|
|
|
// Table("user", "u").LeftJoin("user_detail", "ud", "ud.uid=u.uid")
|
|
|
func (d *ProjBusinessDynamicsDao) LeftJoin(table ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.LeftJoin(table...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.LeftJoin(table...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// RightJoin does "RIGHT JOIN ... ON ..." statement on the model.
|
|
|
@@ -158,7 +159,7 @@ func (d *ProjBusinessDynamicsDao) LeftJoin(table ...string) *ProjBusinessDynamic
|
|
|
// Table("user").RightJoin("user_detail", "user_detail.uid=user.uid")
|
|
|
// Table("user", "u").RightJoin("user_detail", "ud", "ud.uid=u.uid")
|
|
|
func (d *ProjBusinessDynamicsDao) RightJoin(table ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.RightJoin(table...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.RightJoin(table...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// InnerJoin does "INNER JOIN ... ON ..." statement on the model.
|
|
|
@@ -167,93 +168,93 @@ func (d *ProjBusinessDynamicsDao) RightJoin(table ...string) *ProjBusinessDynami
|
|
|
// Table("user").InnerJoin("user_detail", "user_detail.uid=user.uid")
|
|
|
// Table("user", "u").InnerJoin("user_detail", "ud", "ud.uid=u.uid")
|
|
|
func (d *ProjBusinessDynamicsDao) InnerJoin(table ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.InnerJoin(table...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.InnerJoin(table...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Fields sets the operation fields of the model, multiple fields joined using char ','.
|
|
|
// The parameter <fieldNamesOrMapStruct> can be type of string/map/*map/struct/*struct.
|
|
|
func (d *ProjBusinessDynamicsDao) Fields(fieldNamesOrMapStruct ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Fields(fieldNamesOrMapStruct...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Fields(fieldNamesOrMapStruct...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// FieldsEx sets the excluded operation fields of the model, multiple fields joined using char ','.
|
|
|
// The parameter <fieldNamesOrMapStruct> can be type of string/map/*map/struct/*struct.
|
|
|
func (d *ProjBusinessDynamicsDao) FieldsEx(fieldNamesOrMapStruct ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.FieldsEx(fieldNamesOrMapStruct...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.FieldsEx(fieldNamesOrMapStruct...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// FieldCount formats and appends commonly used field "COUNT(column)" to the select fields of model.
|
|
|
func (d *ProjBusinessDynamicsDao) FieldCount(column string, as ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.FieldCount(column, as...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.FieldCount(column, as...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// FieldSum formats and appends commonly used field "SUM(column)" to the select fields of model.
|
|
|
func (d *ProjBusinessDynamicsDao) FieldSum(column string, as ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.FieldSum(column, as...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.FieldSum(column, as...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// FieldMin formats and appends commonly used field "MIN(column)" to the select fields of model.
|
|
|
func (d *ProjBusinessDynamicsDao) FieldMin(column string, as ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.FieldMin(column, as...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.FieldMin(column, as...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// FieldMax formats and appends commonly used field "MAX(column)" to the select fields of model.
|
|
|
func (d *ProjBusinessDynamicsDao) FieldMax(column string, as ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.FieldMax(column, as...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.FieldMax(column, as...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// FieldAvg formats and appends commonly used field "AVG(column)" to the select fields of model.
|
|
|
func (d *ProjBusinessDynamicsDao) FieldAvg(column string, as ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.FieldAvg(column, as...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.FieldAvg(column, as...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Option adds extra operation option for the model.
|
|
|
// Deprecated, use separate operations instead.
|
|
|
func (d *ProjBusinessDynamicsDao) Option(option int) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Option(option)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Option(option), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
|
|
|
// the data and where attributes for empty values.
|
|
|
func (d *ProjBusinessDynamicsDao) OmitEmpty() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.OmitEmpty()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.OmitEmpty(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// OmitEmptyWhere sets optionOmitEmptyWhere option for the model, which automatically filers
|
|
|
// the Where/Having parameters for "empty" values.
|
|
|
func (d *ProjBusinessDynamicsDao) OmitEmptyWhere() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.OmitEmptyWhere()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.OmitEmptyWhere(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// OmitEmptyData sets optionOmitEmptyData option for the model, which automatically filers
|
|
|
// the Data parameters for "empty" values.
|
|
|
func (d *ProjBusinessDynamicsDao) OmitEmptyData() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.OmitEmptyData()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.OmitEmptyData(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// OmitNil sets optionOmitNil option for the model, which automatically filers
|
|
|
// the data and where parameters for "nil" values.
|
|
|
func (d *ProjBusinessDynamicsDao) OmitNil() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.OmitNil()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.OmitNil(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// OmitNilWhere sets optionOmitNilWhere option for the model, which automatically filers
|
|
|
// the Where/Having parameters for "nil" values.
|
|
|
func (d *ProjBusinessDynamicsDao) OmitNilWhere() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.OmitNilWhere()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.OmitNilWhere(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// OmitNilData sets optionOmitNilData option for the model, which automatically filers
|
|
|
// the Data parameters for "nil" values.
|
|
|
func (d *ProjBusinessDynamicsDao) OmitNilData() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.OmitNilData()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.OmitNilData(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Filter marks filtering the fields which does not exist in the fields of the operated table.
|
|
|
// Note that this function supports only single table operations.
|
|
|
// Deprecated, filter feature is automatically enabled from GoFrame v1.16.0, it is so no longer used.
|
|
|
func (d *ProjBusinessDynamicsDao) Filter() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Filter()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Filter(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Where sets the condition statement for the model. The parameter <where> can be type of
|
|
|
@@ -268,7 +269,7 @@ func (d *ProjBusinessDynamicsDao) Filter() *ProjBusinessDynamicsDao {
|
|
|
// Where("age IN(?,?)", 18, 50)
|
|
|
// Where(User{ Id : 1, UserName : "john"})
|
|
|
func (d *ProjBusinessDynamicsDao) Where(where interface{}, args ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Where(where, args...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Where(where, args...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WherePri does the same logic as M.Where except that if the parameter <where>
|
|
|
@@ -277,205 +278,205 @@ func (d *ProjBusinessDynamicsDao) Where(where interface{}, args ...interface{})
|
|
|
// WherePri function treats the condition as "id=123", but M.Where treats the condition
|
|
|
// as string "123".
|
|
|
func (d *ProjBusinessDynamicsDao) WherePri(where interface{}, args ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WherePri(where, args...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WherePri(where, args...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Having sets the having statement for the model.
|
|
|
// The parameters of this function usage are as the same as function Where.
|
|
|
// See Where.
|
|
|
func (d *ProjBusinessDynamicsDao) Having(having interface{}, args ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Having(having, args...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Having(having, args...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Wheref builds condition string using fmt.Sprintf and arguments.
|
|
|
// Note that if the number of "args" is more than the place holder in "format",
|
|
|
// the extra "args" will be used as the where condition arguments of the Model.
|
|
|
func (d *ProjBusinessDynamicsDao) Wheref(format string, args ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Wheref(format, args...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Wheref(format, args...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereLT builds "column < value" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereLT(column string, value interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereLT(column, value)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereLT(column, value), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereLTE builds "column <= value" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereLTE(column string, value interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereLTE(column, value)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereLTE(column, value), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereGT builds "column > value" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereGT(column string, value interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereGT(column, value)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereGT(column, value), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereGTE builds "column >= value" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereGTE(column string, value interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereGTE(column, value)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereGTE(column, value), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereBetween builds "column BETWEEN min AND max" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereBetween(column string, min, max interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereBetween(column, min, max)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereBetween(column, min, max), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereLike builds "column LIKE like" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereLike(column string, like interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereLike(column, like)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereLike(column, like), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereIn builds "column IN (in)" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereIn(column string, in interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereIn(column, in)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereIn(column, in), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereNull builds "columns[0] IS NULL AND columns[1] IS NULL ..." statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereNull(columns ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereNull(columns...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereNull(columns...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereNotBetween builds "column NOT BETWEEN min AND max" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereNotBetween(column string, min, max interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereNotBetween(column, min, max)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereNotBetween(column, min, max), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereNotLike builds "column NOT LIKE like" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereNotLike(column string, like interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereNotLike(column, like)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereNotLike(column, like), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereNot builds "column != value" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereNot(column string, value interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereNot(column, value)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereNot(column, value), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereNotIn builds "column NOT IN (in)" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereNotIn(column string, in interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereNotIn(column, in)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereNotIn(column, in), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereNotNull builds "columns[0] IS NOT NULL AND columns[1] IS NOT NULL ..." statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereNotNull(columns ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereNotNull(columns...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereNotNull(columns...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOr adds "OR" condition to the where statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOr(where interface{}, args ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOr(where, args...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOr(where, args...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrf builds "OR" condition string using fmt.Sprintf and arguments.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrf(format string, args ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrf(format, args...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrf(format, args...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrLT builds "column < value" statement in "OR" conditions..
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrLT(column string, value interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrLT(column, value)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrLT(column, value), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrLTE builds "column <= value" statement in "OR" conditions..
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrLTE(column string, value interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrLTE(column, value)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrLTE(column, value), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrGT builds "column > value" statement in "OR" conditions..
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrGT(column string, value interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrGT(column, value)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrGT(column, value), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrGTE builds "column >= value" statement in "OR" conditions..
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrGTE(column string, value interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrGTE(column, value)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrGTE(column, value), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrBetween builds "column BETWEEN min AND max" statement in "OR" conditions.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrBetween(column string, min, max interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrBetween(column, min, max)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrBetween(column, min, max), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrLike builds "column LIKE like" statement in "OR" conditions.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrLike(column string, like interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrLike(column, like)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrLike(column, like), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrIn builds "column IN (in)" statement in "OR" conditions.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrIn(column string, in interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrIn(column, in)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrIn(column, in), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrNull builds "columns[0] IS NULL OR columns[1] IS NULL ..." statement in "OR" conditions.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrNull(columns ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrNull(columns...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrNull(columns...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrNotBetween builds "column NOT BETWEEN min AND max" statement in "OR" conditions.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrNotBetween(column string, min, max interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrNotBetween(column, min, max)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrNotBetween(column, min, max), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrNotLike builds "column NOT LIKE like" statement in "OR" conditions.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrNotLike(column string, like interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrNotLike(column, like)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrNotLike(column, like), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrNotIn builds "column NOT IN (in)" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrNotIn(column string, in interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrNotIn(column, in)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrNotIn(column, in), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// WhereOrNotNull builds "columns[0] IS NOT NULL OR columns[1] IS NOT NULL ..." statement in "OR" conditions.
|
|
|
func (d *ProjBusinessDynamicsDao) WhereOrNotNull(columns ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.WhereOrNotNull(columns...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.WhereOrNotNull(columns...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Group sets the "GROUP BY" statement for the model.
|
|
|
func (d *ProjBusinessDynamicsDao) Group(groupBy ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Group(groupBy...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Group(groupBy...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// And adds "AND" condition to the where statement.
|
|
|
// Deprecated, use Where instead.
|
|
|
func (d *ProjBusinessDynamicsDao) And(where interface{}, args ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.And(where, args...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.And(where, args...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Or adds "OR" condition to the where statement.
|
|
|
// Deprecated, use WhereOr instead.
|
|
|
func (d *ProjBusinessDynamicsDao) Or(where interface{}, args ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Or(where, args...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Or(where, args...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// GroupBy sets the "GROUP BY" statement for the model.
|
|
|
func (d *ProjBusinessDynamicsDao) GroupBy(groupBy string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Group(groupBy)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Group(groupBy), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Order sets the "ORDER BY" statement for the model.
|
|
|
func (d *ProjBusinessDynamicsDao) Order(orderBy ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Order(orderBy...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Order(orderBy...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// OrderAsc sets the "ORDER BY xxx ASC" statement for the model.
|
|
|
func (d *ProjBusinessDynamicsDao) OrderAsc(column string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.OrderAsc(column)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.OrderAsc(column), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// OrderDesc sets the "ORDER BY xxx DESC" statement for the model.
|
|
|
func (d *ProjBusinessDynamicsDao) OrderDesc(column string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.OrderDesc(column)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.OrderDesc(column), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// OrderRandom sets the "ORDER BY RANDOM()" statement for the model.
|
|
|
func (d *ProjBusinessDynamicsDao) OrderRandom() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.OrderRandom()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.OrderRandom(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// OrderBy is alias of Model.Order.
|
|
|
// See Model.Order.
|
|
|
// Deprecated, use Order instead.
|
|
|
func (d *ProjBusinessDynamicsDao) OrderBy(orderBy string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Order(orderBy)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Order(orderBy), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Limit sets the "LIMIT" statement for the model.
|
|
|
@@ -483,30 +484,30 @@ func (d *ProjBusinessDynamicsDao) OrderBy(orderBy string) *ProjBusinessDynamicsD
|
|
|
// it then sets "LIMIT limit[0],limit[1]" statement for the model, or else it sets "LIMIT limit[0]"
|
|
|
// statement.
|
|
|
func (d *ProjBusinessDynamicsDao) Limit(limit ...int) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Limit(limit...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Limit(limit...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Offset sets the "OFFSET" statement for the model.
|
|
|
// It only makes sense for some databases like SQLServer, PostgreSQL, etc.
|
|
|
func (d *ProjBusinessDynamicsDao) Offset(offset int) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Offset(offset)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Offset(offset), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Distinct forces the query to only return distinct results.
|
|
|
func (d *ProjBusinessDynamicsDao) Distinct() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Distinct()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Distinct(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Page sets the paging number for the model.
|
|
|
// The parameter <page> is started from 1 for paging.
|
|
|
// Note that, it differs that the Limit function start from 0 for "LIMIT" statement.
|
|
|
func (d *ProjBusinessDynamicsDao) Page(page, limit int) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Page(page, limit)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Page(page, limit), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Batch sets the batch operation number for the model.
|
|
|
func (d *ProjBusinessDynamicsDao) Batch(batch int) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Batch(batch)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Batch(batch), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Cache sets the cache feature for the model. It caches the result of the sql, which means
|
|
|
@@ -522,7 +523,7 @@ func (d *ProjBusinessDynamicsDao) Batch(batch int) *ProjBusinessDynamicsDao {
|
|
|
//
|
|
|
// Note that, the cache feature is disabled if the model is operating on a transaction.
|
|
|
func (d *ProjBusinessDynamicsDao) Cache(duration time.Duration, name ...string) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Cache(duration, name...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Cache(duration, name...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Data sets the operation data for the model.
|
|
|
@@ -533,7 +534,7 @@ func (d *ProjBusinessDynamicsDao) Cache(duration time.Duration, name ...string)
|
|
|
// Data(g.Map{"uid": 10000, "name":"john"})
|
|
|
// Data(g.Slice{g.Map{"uid": 10000, "name":"john"}, g.Map{"uid": 20000, "name":"smith"})
|
|
|
func (d *ProjBusinessDynamicsDao) Data(data ...interface{}) *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Data(data...)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Data(data...), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// All does "SELECT FROM ..." statement for the model.
|
|
|
@@ -678,17 +679,17 @@ func (d *ProjBusinessDynamicsDao) Chunk(limit int, callback func(entities []*mod
|
|
|
|
|
|
// LockUpdate sets the lock for update for current operation.
|
|
|
func (d *ProjBusinessDynamicsDao) LockUpdate() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.LockUpdate()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.LockUpdate(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// LockShared sets the lock in share mode for current operation.
|
|
|
func (d *ProjBusinessDynamicsDao) LockShared() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.LockShared()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.LockShared(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// Unscoped enables/disables the soft deleting feature.
|
|
|
func (d *ProjBusinessDynamicsDao) Unscoped() *ProjBusinessDynamicsDao {
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Unscoped()}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Unscoped(), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
|
|
|
// DataScope enables the DataScope feature.
|
|
|
@@ -710,14 +711,18 @@ func (d *ProjBusinessDynamicsDao) DataScope(ctx context.Context, userCol ...stri
|
|
|
dataScope["id"] = userIds
|
|
|
}
|
|
|
}
|
|
|
+ tableAs := d.TableAs
|
|
|
+ if d.TableAs != "" {
|
|
|
+ tableAs += "."
|
|
|
+ }
|
|
|
for k, v := range dataScope {
|
|
|
if ok, _ := d.M.HasField(k); ok {
|
|
|
- columns = append(columns, k+" IN (?) ")
|
|
|
+ columns = append(columns, tableAs+k+" IN (?) ")
|
|
|
values = append(values, v)
|
|
|
}
|
|
|
}
|
|
|
whereSql := strings.Join(columns, " OR ")
|
|
|
- return &ProjBusinessDynamicsDao{M: d.M.Where(whereSql, values).Ctx(ctx)}
|
|
|
+ return &ProjBusinessDynamicsDao{M: d.M.Where(whereSql, values).Ctx(ctx), Table: d.Table, TableAs: d.TableAs}
|
|
|
}
|
|
|
return d
|
|
|
}
|