Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/11/2014, 09:04
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Relacciones en laravel

Cita:
Pero como los relacciono, creo una columna en cada tabla que relaccione las ID?
Por eso es necesario leer el manual; Laravel asume algunas convenciones para conocer las relaciones.
http://laravel.com/docs/4.2/eloquent#relationships
Cita:
Take note that Eloquent assumes the foreign key of the relationship based on the model name. In this case, Phone model is assumed to use a user_id foreign key. If you wish to override this convention, you may pass a second argument to the hasOne method. Furthermore, you may pass a third argument to the method to specify which local column that should be used for the association:
En resumen para tu ejemplo events espera que exista un campo users_id como foreing key. En terminos de php solo tienes que hacer lo siguiente.
Código PHP:
Ver original
  1. class Users extends Eloquent {
  2.  
  3.     public function events()
  4.     {
  5.         return $this->hasMany('Events');
  6.     }
  7.  
  8. }
Si ya existen tus tablas y no siguen esta convención, entonces tienes que indicar cual es el foreing key; supongamos para tu caso algo como user_event_id, entonces solo lo tienes que indicar en el método hasMany como segundo argumento.
Código PHP:
Ver original
  1. class Users extends Eloquent {
  2.  
  3.     public function events()
  4.     {
  5.         return $this->hasMany('Events','user_event_id');
  6.     }
  7.  
  8. }
Si es necesario puedes pasar el primary key como tercer argumento.
Espero que esto te aclare el panorama y te sirva para que hagas del manual tu mejor amigo
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.