Solución al problema de N+1 con Eager Loading en Laravel

Logo
46

Solución al problema N+1

Curso de Crea una aplicación con Laravel 5.3 Parte 1

Cuando trabajamos con ORMs -como Eloquent- obtenemos la ventaja de hacer consultas de modelos relacionados fácilmente pero con la desventaja que no sabemos a simple vista cómo se están haciendo dichas consultas. Laravel por defecto, realiza «lazy loading» o una carga de los datos de modelos relacionados solo cuando accedes a ellos. Esto produce que se hagan N consultas extra por la cantidad de registros que se relacionan con el otro modelo. Son consultas adicionales que se hacen a la base de datos y no importan mucho cuando estamos desarrollando pero cuando tenemos la aplicación en producción podría afectar el desempeño. En la lección de hoy veremos cómo podemos verificar las consultas ejecutadas por Eloquent / Fluente y cómo solucionar este problema usando Eager Loading.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Filtrar posts propios con Laravel y TDD

Logo
45

Filtrar posts propios

Curso de Crea una aplicación con Laravel 5.3 Parte 1

Durante las últimas lecciones hemos creado filtros para el listado de posts de la aplicación. En esta lección trabajaremos en otro tipo de listado, el cual es el que permitirá filtrar solo los posts propios del usuario conectado.  Además, refactorizaremos el controlador encargado de mostrar los listados, entre otros detalles.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Uso de View Composers en Laravel para compartir datos en las vistas

Logo
44

View Composers

Curso de Crea una aplicación con Laravel 5.3 Parte 1

Cuando tenemos variables que queremos mostrar en varias vistas, lo ideal es poner en práctica el principio DRY «Don’t repeat yourself» y enviar dichas variables desde una clase particular y así evitar recargar los controladores con código repetido.  Este tipo de clases en Laravel se llaman View Composers y en esta lección veremos cómo hacer uso de ellas en nuestro proyecto.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Uso de controladores de una sola acción en Laravel 5.4

Logo
43

Single Action Controllers

Curso de Crea una aplicación con Laravel 5.3 Parte 1

Siguiendo con la refactorización del listado de posts de la aplicación, nos encontramos con que nuestro controlador PostController tiene algunas funciones que no son acciones sino helpers.  Esto puede crear confusión, por lo que en esta lección la dedicaremos a implementar un tipo de controlador disponible desde Laravel 5.4 conocido como Single Action Controller o controladores de una sola acción. Veamos a continuación:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Lista con orden dinámico con Blade y Eloquent en Laravel

Logo
42

Lista con orden dinámico

Curso de Crea una aplicación con Laravel 5.3

En esta lección seguimos mejorando la vista agregando nuevas opciones para ver los posts de la aplicación.  Para ello desarrollaremos la funcionalidad de mostrar los posts ordenados por fecha de creación: posts antiguos o posts recientes y la posibilidad de reordenarlos.  También resolveremos cómo mantener el orden escogido en los posts cuando navegamos con la paginación. Veamos a continuación:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Listado detallado con Blade, Eloquent y Seeders

Logo
41

Listado detallado

Curso de Crea una aplicación con Laravel 5.3 Parte 1

En esta lección mejoraremos el listado de post agregando elementos, como status y categoría, para poder identificar los posts fácilmente. Además trabajaremos con los seeders para crear registros con fechas de creación y estatus diferentes, de manera tal que tengamos datos ficticios que nos permitan ver diferentes resultados cuando filtremos los posts. Por supuesto nos apoyaremos  en las pruebas escritas durante todo el curso para garantizar que todo sigue funcionando correctamente.
Ver post

Cómo personalizar el correo de recuperación de contraseñas en Laravel 5.3 y 5.4

Laravel trae por defecto un sistema de autenticación de usuarios que puedes agregar a tu aplicación con el  comando php artisan make:auth. Este sistema incluye la funcionalidad para la recuperación de contraseña de un usuario, que envía un email con el mensaje y el enlace para que el usuario pueda recuperarla, sin embargo, este correo es genérico y en inglés, por lo que si tu aplicación está en español o quieres un mensaje más descriptivo necesitarás personalizar esta funcionalidad.  Con este tutorial aprenderás cómo crear un mensaje para el correo de recuperación de contraseñas adaptado al contexto de tu aplicación:

Ver post

Filtrar posts por status con Laravel y TDD

Logo
40

Filtrar posts por status

Crea una aplicación con Laravel Parte 1

En la lección anterior logramos filtrar los posts por categorías, pero también puede ser útil filtrarlos por su estado: completado o pendiente.  Es por ello que en esta lección aprenderás a trabajar con los Scopes de Eloquent usando el método scopes que nos permite implementar múltiples scopes a la vez de forma dinámica. También aprenderás cómo filtrar y mostrar diferentes resultados usando una única acción dentro de un controlador.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Filtrar posts por categorías con Laravel y TDD

Logo
39

Filtrar posts por categorías

Curso de Crea una aplicación con Laravel Parte 1

Una funcionalidad importante para nuestro foro es que los usuarios de la aplicación puedan filtrar los posts relacionados con una categoría en particular.  En esta lección aprenderás a desarrollar este feature apoyándonos con el desarrollo guiado por pruebas o TDD.  Haremos un repaso del uso de scopes de Eloquent, menús con el componente Styde Html, sobre el método getRouteKeyName y el uso de métodos para trabajar con colecciones.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Suscríbete a nuestro boletín

Recibe consejos útiles, promos y múltiples recursos directamente en tu correo.

Tu nombre y correo serán enviados directamente a MailChimp. No compartiremos tus datos con otras empresas.