Otro post que escribo sobre GORM, un ORM de Go. En este caso vamos a ver cómo hacer una consulta manual y un escaneo manual, es decir, algo tipo raw.

Este tipo de consultas son poco comunes pero existen para cuando necesitamos hacer un reporte o traer ciertos datos que no corresponden a un único modelo.

Modelo que va a representar cada fila

En primer lugar comenzamos definiendo el modelo en donde vamos a escanear los valores. Yo voy a poner un ejemplo simple: un modelo que tiene una ganancia (es decir, un valor monetario) y un id del empleado que tiene esa ganancia.

Fíjate en que aunque la columna en el struct se llama IdEmpleado le estoy indicando a GORM que la columna que va a escanear sobre este valor será la que tenga el nombre de id.

El arreglo en donde se colocan los valores

Luego creamos el arreglo en donde vamos a colocar los valores:

Hacer consulta y obtener filas

Ahora hago mi consulta y obtengo las filas. La sintaxis es:

filas, err := bd.Raw("consulta", posibles_parámetros...).Rows()

Es importante comprobar que el error es nil y cerrar las filas con filas.Close (se puede usar defer). En mi caso:

Que no te confunda la consulta, solo te estoy colocando un ejemplo.

Recorrer y escanear

Finalmente, recorremos las filas, escaneamos y agregamos el valor al arreglo:

Código completo

El código completo queda así; estoy omitiendo la parte en donde obtienes la conexión a la base de datos pues eso puede variar:

 


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 1,198 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: