2017-08-22 1 views
0

La table Inquries contient client_id en tant que clé étrangère, je veux accéder à Name ist à mon avis. La table clients a une colonne de nom.Nom d'accès Laravel de la clé étrangère dans la vue

J'ai essayé de suivre pour afficher le nom dans ma vue, mais cela n'a pas fonctionné.

@foreach($inquiries as $inquiryKey => $inquiryValue) 
    <td>{{ $inquiryValue->client_id }}</td> // works 
    <td>{{ $inquiryValue->client_id->name }}</td> // does not work 
@endforeach 

Modèle client

public function inquiry() 
{ 
    return $this->hasMany(Inquiry::class); 
} 

d'enquête sur

public function client() 
{ 
    return $this->belongsTo(Client::class); 
} 
+0

Avez-vous lu des exemples de documentation sur les relations? – Kyslik

Répondre

1

Le client_id est juste l'ID du client. Puisque vous avez une relation en place, vous devez vous référer à cette place: {{ $inquiryValue->client->name }}

+0

Vous venez de donner un poisson à l'homme ... – Kyslik

+1

Nous étions tous débutants à un moment donné. Ce demandeur a évidemment essayé de faire quelque chose lui-même et posté l'information pertinente dans la question. –

+0

Bien sûr, mais il a échoué et est venu chercher de l'aide à la grande maman (SO). La réponse à sa question peut être trouvée ** facilement ** dans la documentation de Laravel. De toute évidence, n'a aucune idée de comment déboguer la chose ('dd()', ou en utilisant tinker etc ...) Je parie qu'une semaine plus tard OP reviendra à SO "ça ne marche pas" (avec une question similaire) (I don ' Je parie que je suis inquiet). – Kyslik

0

Vous devriez essayer ceci:

@foreach($inquiries as $inquiryKey => $inquiryValue) 
    <td>{{ $inquiryValue->client_id }}</td> 
    <td>{{ $inquiryValue->client->name }}</td> 
@endforeach 

Espoir ce travail pour vous !!!

0

Essayez

{{ $inquiryValue->name }} 

Aussi, vous pouvez vérifier les variables à partir du code ci-dessous

dd(get_defined_vars())