2017-10-09 1 views
0

Je peux avoir une question de débutant. J'ai besoin d'accéder au champ "nom" d'une table liée.obtenir libelle de FK

J'ai une table de client avec un country_id lié à une table de pays (facile).

Dans mon modèle de client, je défini la fonction suivante

public function country() { 
    return $this->belongsTo(Country::class, 'country_id'); 
} 

Alors, dans mon CustomerController, j'accéder au nom du pays avec le code suivant.

echo ($customer->country_id != null ? $customer->country->name : ''); 

Mais, ce que je voudrais à, est de changer le contrôleur client comme ça:

echo $customer->country_name; 

Donc, maintenant, ma question stupide est de savoir comment écrire mon modèle pour permettre une telle fonction stupide?

Merci,

Répondre

0

Mon collègue a répondu à ma question, je ne me souviens que d'ajouter entre parenthèses à mon contrôleur de client.

Controller:

echo $customer->paysname(); 

Modèle:

public function paysname() { 
    return (is_null($this->pays_id) ? '' : $this->pays->name); 
}