Cita:
Iniciado por Fylux Muchas gracias por responder y si no es mucha molestia quisiera exponer dos dudas que me salen entonces.
En los modelos he visto que en Laravel se relacionan en uno con uno, uno con varios o varios con varios.
Lo que ocurre es que yo tengo un sistema de mensajería donde cada mensaje tiene id_emisor e id_receptor. De forma que no se como hacer para que en unos casos busque el id del usuario en el emisor y en otros caso en el receptor.
Mi segunda duda es si hace falta que diga la key que quiero usar para relacionar una tabla con otra. Y si no hace falta, ¿qué llave busca?
Saludos y gracias de antemano.
En el modelo Mensaje puedes tener algo así:
Código PHP:
// models/mensaje.php
public function emisor()
{
return $this->BelongsTo('User', 'from_id');
}
public function receptor()
{
return $this->BelongsTo('User', 'to_id');
}
Y en el controlador algo así:
Código PHP:
// controllers/mensajes.php
$mensajes = Mensaje::with('emisor', 'receptor')->get();
Tanto from_id como to_id enganchan con el user.id, salvo que cambies el primary key del modelo user.