#调用的地方
query := " company_id = ? AND userid = ?"
err := company.Update(c, company, query, _cId, _uId)
#这里有个小坑,
# 调用Update方法 param参数中没设置主键 ID ,这里需要专门传入where 条件调用Where 方法
func (c *MizOutCompanyMember) Update(ctx context.Context, param *MizOutCompanyMember, query string, args ...interface{}) error {
err := c.GetTable().WithContext(ctx).Where(query,args...).Updates(param).Error
return err
}
#对于Update方法如果,传入更新的字段有表主键ID,则不需要单独传入where条件
#调用 && update 方法实现 :
erro = upCompay.Update(c, upCompay)
func (c *MizOutCompany) Update(ctx context.Context, param *MizOutCompany) error {
err := c.GetTable().WithContext(ctx).Updates(param).Error
return err
}
**
**
#调用
var uIds []int64 //获取所有员工ID
for _, row := range rows {
uIds = append(uIds, row.Userid)
}
user := &m.MizUser{}
query := "id"
ucount, urows, err := user.Query(c, query, uIds)
if ucount == 0 || err != nil {
p.ReError(c, http.StatusInternalServerError, "find user info error"+err.Error(), "")
return
}
#gorm 方法实现
func (c *MizUser) Query(ctx context.Context, query string, args ...interface{}) (count int64, rows []*MizUser, err error) {
tx := c.GetTable().WithContext(ctx)
tx.Count(&count)
err = tx.Where(query,args...).Find(&rows).Error
return count, rows, err
}