Utilizamos cookies para proporcionar y mejorar nuestros servicios. Al navegar por nuestro sitio, usted acepta las cookies. Política de Cookies
Estamos haciendo algo, un momento...
Estamos haciendo algo, un momento...

Método with en Laravel, tan versátil como su nombre lo indica.

Sábado 08 de Octubre 2022

El método "with" en Laravel es una característica de la plataforma de desarrollo de software que se utiliza para cargar relaciones en un modelo Eloquent. Con "with", puedes cargar datos relacionados con un modelo de manera eficiente y evitar la necesidad de realizar múltiples consultas a la base de datos para recuperar información relacionada.

La traducción al español de with es algo como “Con”, algo como quien dice adjunta con, muestra con, tráelo con… espero que comprendan mas o menos el significado textual.

En la práctica el método with() nos ayuda en diferentes ámbitos como lo mencionamos anteriormente, entonces hablemos de ellas.

Método with() en redirecciones de Laravel

Así es puedes usar el método with() en las redirecciones de Laravel dentro de un controlador o directamente desde un router.

Para hacer uso de ello hacemos el llamado o adjunto de with() justo después de definir la redirección y les aclaro que funciona con los métodos redirect() y back() y podemos enviar casi cualquier tipo de datos, aquí un ejemplo.

Método with en Laravel, tan versátil como su nombre lo indica.

Como ven, podemos retornar atrás adjuntando al ciclo de vida de esa peticion una variable de sesión llamada var, esta la podemos imprimir de la manera {{ Session::get('message') }} llamando a la clase Session y al método get pasando como parámetro el nombre de la variable de sesión.

Cabe recalcar que solo en ese redirect estará disponible esa variable de sesión, ese es su único tiempo de vida.

with() cargando relaciones de un modelo

Otra de las grandes utilidades del método with() es el de cargar de forma dinámica relaciones de un modelo.

Cuando defines una relación dentro de un modelo de Laravel, puedes llamarlo de forma manual para realizar tus procesos, pero con with() obligamos al modelo a cargarlo si o si la relación y no solo eso, si no solo con los datos que se necesitan con lo que le damos menor carga de trabajo a la petición y a la base de datos, usarlo es fácil aquí te dejo un ejemplo:

Método with en Laravel, tan versátil como su nombre lo indica.

La ventaja que tenemos al cargar relaciones en un modelo con with, es que por ejemplo tienes una base de datos con 10 usuarios, si no cargas de forma dinámica la relación con with() cuando uses la relación estarás haciendo 10 llamadas a la base de datos y a la tabla address, 10 a la tabla invoices, y 10 a la tabla comments, 30 llamadas a la base de datos mientras que con with() se cargan solo los datos que necesitas, por lo que estarías realizando una consulta por cada tabla.

Como ven todo es ventaja cuando usas el método with() ya sea para cargar relaciones o crear una variable de sesión.

¡Comentarios de la comunidad!

Para poder comentar necesita ingresar a su cuenta, si no tienes una cuenta puede crear una