beego/beego · error

<RawSeter.QueryRow> All args must be use ptr

Error message

<RawSeter.QueryRow> All args must be use ptr

What it means

Error "<RawSeter.QueryRow> All args must be use ptr" thrown in beego/beego.

Source

Thrown at client/orm/orm_raw.go:300

		nInds[i] = nInd
	}
}

// query data and map to container
func (o *rawSet) QueryRow(containers ...interface{}) error {
	var (
		refs  = make([]interface{}, 0, len(containers))
		sInds []reflect.Value
		eTyps []reflect.Type
		sMi   *models.ModelInfo
	)
	structMode := false
	for _, container := range containers {
		val := reflect.ValueOf(container)
		ind := reflect.Indirect(val)

		if val.Kind() != reflect.Ptr {
			panic(errors.New("<RawSeter.QueryRow> All args must be use ptr"))
		}

		etyp := ind.Type()
		typ := etyp
		if typ.Kind() == reflect.Ptr {
			typ = typ.Elem()
		}

		sInds = append(sInds, ind)
		eTyps = append(eTyps, etyp)

		if typ.Kind() == reflect.Struct && typ.String() != "time.Time" {
			if len(containers) > 1 {
				panic(errors.New("<RawSeter.QueryRow> now support one struct only. see #384"))
			}

			structMode = true
			fn := models.GetFullName(typ)

View on GitHub (pinned to 939cfde380)

When it happens

Trigger: Thrown at client/orm/orm_raw.go:300 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of beego/beego@939cfde380 (2026-08-15). Data as JSON: /api/errors/78cd36919d9c4f23. Report an issue: GitHub.