Las relaciones many to many, “muchos a muchos” o como se llaman en Laravel belongs to many (es decir: pertenecen a muchos) se utilizan en casos donde un registro de una tabla A puede tener y pertenecer a muchos registros de una tabla B.

Esto se hace a través de una tercera tabla (C) que se conoce como pivot table o tabla pivote. Como vimos en las lecciones sobre migraciones y seeders, aquí tenemos un ejemplo:

user_votes

Claro, en este caso no diríamos que un ticket tiene muchos usuarios, ni que un usuario tiene muchos tickets, a nivel de base de datos se expresa de esa forma, pero a nivel de la lógica de nuestra aplicación nosotros vamos a decir que un ticket puede ser votado por muchos usuarios, y un usuario puede votar por muchos tickets.

Es importantísimo que entiendas que es un pivot table, y cómo se establece una relación muchos a muchos en la base de datos.

Pero como podrás imaginar, a la hora de desarrollar nuestras aplicaciones, Laravel incluye una serie de métodos que permiten trabajar con este tipo de relaciones de una manera muy sencilla.

En el siguiente video vamos a desarrollar la funcionalidad para votar o quitar votos de un ticket en particular:

Regístrate en Styde

y obtén acceso inmediato a cientos de lecciones como ésta y contenido nuevo cada semana.

Ver planes

Lección anterior Funcionalidad para crear solicitudes Lección siguiente Funcionalidad para agregar comentarios