2016-02-10 2 views
0

Salut, j'ai 7 tables dans ma base de données,Comment déclarer plusieurs relation hasOne dans Laravel 5.2

Toutes les 6 tables sont a user_id de la table utilisateur,

Dans le modèle utilisateur Je déclare relation hasOne comme ci-dessous

public function profiledetailsHasOne() 
{ 
     return $this->hasOne('App\Profiledetails'); 
} 


public function educationHasOne() 
{ 
     return $this->hasOne('App\Education'); 
} 
public function occupationHasOne() 
{ 
     return $this->hasOne('App\Occupation'); 
} 

public function maritalHasOne() 
{ 
     return $this->hasOne('App\Marital'); 
} 
public function parentHasOne(){ 
    return $this->hasOne('App\Parent'); 
} 

Je me demande s'il n'y a pas d'autre moyen que d'utiliser ce mode de cluster?

Merci à l'avance

Répondre

0

Je ne vais pas commenter sur la structure, mais la façon dont vous faites est juste.

Je voudrais simplement supprimer HasOne mot des fonctions afin qu'ils lisent plus agréable lors de l'accès aux relations comme ci-dessous.

$user->profileDetails(); 
$user->education(); 

au lieu de

$user->profiledetailsHasOne(); 
$user->educationHasOne();