Continuando con el artículo anterior (Resultados Eloquent con Blade sin dolores de cabeza), vamos a ver otra forma de mostrar los resultado de Eloquent, una colección o un array.
Utilizando la función each de Blade
Por el artículo anterior, sabemos que podemos utilizar la función forelse de Blade para iterar sobre una colección sin la necesidad de utilizar un if antes para validar que la colección no este vacía.
En este caso, vamos a ver otra forma que es más utilizada a la hora de mostrar una vista por cada item de la colección. Por ejemplo, cuando tienes un ecommerce y quieres mostrar varios productos en el resultado de una búsqueda. Y esta es la Directiva Each de Blade.
Ejemplo de Each en Laravel Blade
Como vemos en el ejemplo, la directiva each recibe los siguientes argumentos:
- El primero es ‘product._item’ que corresponde a la vista parcial de cada elemento de la colección o array. A las vistas parciales suelo comenzarlas con un guion bajo (_) como convención.
- El segundo argumento es la colección en si que se va a iterar. Puede ser el resultado de una consulta Eloquent o un array.
- El tercero es el nombre de la variable que vas a tener que utilizar en tu vista parcial para acceder a los datos de cada uno de los items.
Aún hay mas de la directiva each de Blade
¿Qué pasa si la colección esta vacía? No hay problema, la directiva each puede recibir un cuarto argumento. Este argumento es la vista que se mostrara si el array está vacío.
* Imagen generada con la herramienta online Carbon.
Conclusión
La directiva each es una gran función que nos brinda una vista más limpia, más fácil de seguir y, en un futuro, te agradecerás vos mismo de haberla utilizado. 😉🤙
Super interesante, veo que con esto puedes reutilizar vistas y el código queda más reducido