Eloquent es el potente ORM de Laravel que nos brinda muchas funcionalidades, código limpio y auto documentado ya que se lee de una forma totalmente fácil de entender.
Este va a ser un artículo con varios tips, explorando las gemas ocultas que tiene una de las funciones mas utilizadas de Eloquent, la función where.
Haciendo más explicito el método WHERE
¿Por que decía que con Eloquent el código se hace mas fácil de leer? Bueno, mira esto y después contame 😉
Como ves, la sintaxis se entiende muy bien y es muy fácil de aplicar.
Reemplazando varios WHERE encadenados por un array
Muchas veces nos pasa que tenemos muchas condiciones que hay que aplicar a una consulta y tendemos a poner un where atrás del otro, que no esta mal! Pero hay otra forma de hacerlo.
Esta funcionalidad esta disponible desde la versión 5.4 de Laravel.
¿Que tiene de bueno esto? Bueno, por un lado no se esta llamando a la función where por cada condición y por otro lado, podemos tratar las condiciones de una mejor forma. Miren este ejemplo:
Supongamos que tenemos un array con los filtros que hay que aplicarle a una consulta. Entonces, ¿que forma utilizarían ustedes?
Si te gusto esta forma de utilizar el método where, agárrate de la silla que lo que viene es genial!
Agregando AND entre columnas con al método WHERE
Como vimos al principio, tenemos la posibilidad de hacer «whereColumna» para hacer nuestro código mas entendible pero también podemos agregar mas condiciones a la misma función para filtrar por mas de una columna. De esta forma:
Se te hizo una sonrisa, no? 😁
Agregando OR entre columnas con al método WHERE
Y, obviamente también se puede usar con OR.
Conclusión
Como vimos, el método WHERE de Eloquent es más potente de lo que pensábamos y podemos utilizarlo de múltiples formas. Los dejo a ustedes a que encuentren mas implementaciones y las dejen en los comentarios. Nos leemos en la próxima. 😉🤙
Excelente hermano buen post
Muchas gracias Jean! 😀
Hola, gracias por comprtir esros tips. Excelente artículo. Me encantaría si continuarán publicando otros ejemplos de utilización del método que te combinandolo con whereHas() o otros métodos de Eloquent.
Saludos
Como no! Lo estoy preparando y pronto lo voy a publicar. Te recomiendo suscribirte al newsletter para enterarte cuando este disponible el artículo. Saludos y gracias por visitar la web.
La duda ahora entra como cambio el Where por WherEmail, me toca investigar.
Fácil! Sería whereEmail()
Saludos, primero agradezco el super post, y mi pregunta: el segundo nombre junto con where es el nombre de la columna y que pasa si tengo una columna en español como categoria seria whereCategoria() solo eso, no tengo que agregar nada mas , como sabe laravel esos nombres. perdón es que estoy alucinado con esas implementaciones
Muchas gracias por tu comentario Ruben. Si, no hay problema con los nombres en español (siempre y cuando no uses ñ o acentos, obviamente), funcionará correctamente el ejemplo que comentas.
Saludos y gracias por visitar el blog.
Muchas gracias Amigo por esas implementaciones, mi pregunta seria la siguiente, como se haria la consulta en este caso : ->where(‘fecha_fin’, ‘get();
Muchas gracias Amigo por esas implementaciones, mi pregunta seria la siguiente, como se haria la consulta en este caso : ->where(‘fecha_fin’, ‘get();
Gracias, me haz hecho el día
Gracias a vos por tu comentario!
hola, tengo un problema con un filtro de categorías, como puedo filtra comparando solo una palabra dentro de un párrafo, ejemplo: aventura comedia ciencia-ficcion shounen filtrar por una sola palabra que no importe si esta al principio o al final
Hola, como estas?
Para eso se usa el operador
LIKE
de SQL con los comodines%
.gracias crack!