Skip to content

Conversation

cimc-raffles
Copy link

  • Do only one thing
  • Non breaking API changes
  • Tested

What did this pull request do?

add result type: gorm.DB, *gorm.DB

User Case Description

type Querier interface {
	// FindByCondition
	//
	// where("
	// {{if role != nil}}
	//   	{{if role.Name !=""}}
	//			 name LIKE concat("%",@role.Name,"%")
	//       {{end}}
	// {{end}}
	// ")
	FindByCondition(role *gen.T) (*gorm.DB, error)
}

execute generate.go, and then get role.gen.go

func (s systemRoleDo) FindByCondition(role *model.SystemRole) (executeSQL *gorm.DB, err error) {
	var params []interface{}

	var generateSQL strings.Builder
	if role != nil {
		if role.Name != "" {
			params = append(params, role.Name)
			generateSQL.WriteString("name LIKE concat(\"%\",?,\"%\") ")
		}
	}

	executeSQL = s.UnderlyingDB().Where(generateSQL.String(), params...) // ignore_security_alert
	err = executeSQL.Error

	return
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant