package model import ( "context" "fmt" "github.com/zeromicro/go-zero/core/stores/sqlc" "github.com/zeromicro/go-zero/core/stores/sqlx" ) var _ RolePermissionModel = (*customRolePermissionModel)(nil) type ( // RolePermissionModel is an interface to be customized, add more methods here, // and implement the added methods in customRolePermissionModel. RolePermissionModel interface { rolePermissionModel FindOneByRoleID(ctx context.Context, roleID string) ([]*RolePermission, error) } customRolePermissionModel struct { *defaultRolePermissionModel } ) // NewRolePermissionModel returns a model for the database table. func NewRolePermissionModel(conn sqlx.SqlConn) RolePermissionModel { return &customRolePermissionModel{ defaultRolePermissionModel: newRolePermissionModel(conn), } } func (m *customRolePermissionModel) FindOneByRoleID(ctx context.Context, roleID string) ([]*RolePermission, error) { var resp []*RolePermission query := fmt.Sprintf("select %s from %s where `role_id` = ?", userRoleRows, m.table) err := m.conn.QueryRowsCtx(ctx, &resp, query, roleID) switch err { case nil: return resp, nil case sqlc.ErrNotFound: return nil, ErrNotFound default: return nil, err } }