Eloquent: Relaciones muchos a muchos

Para las relaciones muchos a muchos siempre obligatoriamente hay que crear una tabla pivot que enlace las dos tablas entre sí.

Tabla cineastas:
id
nombre

Tabla gremios:
id
nombre_gremio

La tabla pivot se tiene que llamar obligatoriamente siempre el nombre de los dos modelos ordenados alfabéticamente separados por guión, en este caso "cineasta_gremio"
cineasta_premio:
cineasta_id
gremio_id

En el modelo Cineasta:
public function gremios() {
   return $this->belongsToMany("App\Gremio");
}

En routes/web.php:
Route::get("/cineasta/{id}/gremio", function($id) {
    $cineasta = Cineasta::find($id);
    foreach ($cineasta->gremios as $item) {
       echo $item->nombre_gremio."<br>";

    }
});

Así si por ejemplo el cineasta 1 es Woody Allen sacará los gremios de actor, director y guionista.

No hay comentarios:

Publicar un comentario