0x4a52466c696e74 1 週間 前
コミット
1f72749dc6
1 ファイル変更8 行追加3 行削除
  1. 8 3
      rest_gorm/request_list.go

+ 8 - 3
rest_gorm/request_list.go

@@ -120,11 +120,16 @@ func (s *List) ResultOut(pg *gorm.DB, model any, req rest.IRequestIn) rest.IRequ
 	if err != nil {
 		return req.OutError(rest.ErrorMessage("ErrFileds", err.Error()))
 	}
-	elemType := reflect.TypeOf(reflect.ValueOf(model))
+	// Определяем тип элемента напрямую без использования reflect.ValueOf
+	elemType := reflect.TypeOf(model).Elem()
+	// Создаем срез нужного типа
 	sl := reflect.MakeSlice(reflect.SliceOf(elemType), 0, 0)
+	// Создаем указатель на этот срез
 	slPtr := reflect.New(sl.Type())
-	slPtr.Set(sl)
-	return s.ResultOutNames(pg, fieldNames, sl.Interface(), req)
+	// Устанавливаем значение созданного среза в указатель
+	slPtr.Elem().Set(sl)
+	// Передаем указатель на срез
+	return s.ResultOutNames(pg, fieldNames, slPtr.Interface(), req)
 }
 
 func (s *List) ResultOutNames(pg *gorm.DB, fields rest.FieldNamesList, res any, req rest.IRequestIn) rest.IRequestOut {