Hola jssvalagua!
No hace falta tantos argumentos, fijate:
Mi ejemplo: Tabla usuarios, tabla roles, tabla de relacion
En el modelo del usuario:
public function roles()
{
return $this->belongsToMany('App\Role');
}
En el modelo del role
public function users()
{
return $this->belongsToMany('App\User');
}
Los nombres de las tablas son lo interesante, por ejemplo:
En mis ejemplos para evitar passar tantos parametros las tablas se llaman asi:
users
roles
role_user
y oviamente el role_user tiene user_id y role_id con eso es suficiente
Hola jssvalagua,
Veo que tus relaciones estan declaradas de forma correcta: Una observación, dado que tus relaciones son Many-To-Many los nombres de las funciones deberían de ser en plural:
public function recetas()
{
return $this->belongsToMany('App\Receta', 'intercambios' ,'alimento_id');
}
Otro cosa, es recomendado que tu tabla unión se llame según el nombre de tus tablas en SINGULAR y por orden alfabético, y no un nombre XXXXX en tu caso seria:
public function recetas()
{
return $this->belongsToMany('App\Receta', 'alimento_receta', 'alimento_id');
}
Ahora respondiendo a tu pregunta, debes hace uso de la funcion "pivot" para acceder a tus campos adicionales en la tabla "intercambios" (alimento_receta)
public function recetas()
{
return $this->belongsToMany('App\Receta', 'alimento_receta', 'alimento_id')
->withPivot('columna1', 'columna2')
->withTimestamps();
}
->withTimestamps()
Te sirve para llevar lascolumnas created_at, updated_at
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community