Otro tutorial que escribo sobre Gorm, un ORM para Go o Golang. Hoy veremos cómo hacer un WHERE de SQL al traer datos usando el método Find
del ORM.
Normalmente para traer todos los datos hacemos algo como:
bd, err = gorm.Open("tu_motor", "credenciales")
if err != nil{
// manejar error
}
defer bd.Close()
var personas []Persona
bd.Find(&personas)
Pero no estamos aplicando ninguna forma de filtarlos.
Así que para filtrar podemos usar el método Where
. Por cierto, con este método debes conocer el nombre de la columna con la que quieres hacer hacer la comparación.
Suponiendo que queremos consultar el nombre de las personas que se llaman “Luis” el código quedaría de la siguiente manera:
bd, err = gorm.Open("tu_motor", "credenciales")
if err != nil{
// manejar error
}
defer bd.Close()
var personas []Persona
busqueda := "Luis"
bd.Where("nombre = ?", busqueda).Find(&personas)
Como puedes ver se puede usar ?
para pasar los parámetros y así evitar inyecciones SQL. Al final los datos estarán en el arreglo de personas.
No he tenido la necesidad de hacer un or
en los where
, pero sí un and
. Y los hago, por poner un ejemplo, así:
//...
bd.Where("id_empleado = ?", idEmpleado).Where("id_nomina = ?", idNomina).Find(&bonos)
Es decir, simplemente invoco a Where
las veces que sea necesario.
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.