2017-05-06 7 views
0

iam Arbeits in journal Projekt und ich habe 3 Haupttabelle -Volumes> issues-> ArtikelLaravel Eloquent: Beziehungen erhalten dritte Teil Beziehung

Volumen hat viel Ausgabe aber Ausgabe hat ein Volumen
Fragen im Zusammenhang viele Artikel aber Artikel hat ein Problem

alle arbeiten gut, aber ich habe 1 heikel Schritt

ich will Volume-Namen erhalten, wenn Ansicht alle Artikel. Ich möchte folgendes anzuzeigen, wenn Abholen

article name | vol name/issue name 

i Erfolg Ausgabe Namen zu bekommen, wie ich Beziehung zwischen Artikel haben Modul und Ausgabe-Modul aber ich weiß nicht, wie Volume-Namen erhalten innen für-jeden Artikel

<tr> 
    <th>Title</th> 
    <th>Vol/Issue</th> 
</tr> 
@foreach($articles as $article) 
    <td>{{ $article->title }} 
    <td>{{ ??? }}/{{$article->issue->name}}</td> 
@endforeach 
+0

Wie wäre es '$ Artikel-> themen-> Volu Ich-> Name'? – Chay22

Antwort

1

Angenommen, Sie haben die für die Beziehungen gehört in jedem Modell aufgebaut wie die Rückseite Ihrer handeln hat viele Beziehungen:

class Article extends Model 
{ 
    public function issue() 
    { 
     return $this->belongsTo(Issue::class); 
    } 
} 

class Issue extends Model 
{ 
    public function volume() 
    { 
     return $this->belongsTo(Volume::class); 
    } 
} 

Sie sollten die issue Beziehung zu eifrig Last der Lage sein und die issue ‚s volume Beziehung, wenn Ihre Artikel abrufen, wie folgt aus:

$articles = Article::with(['issue', 'issue.volume'])->get(); 

und Ihrer Ansicht nach (Unter der Annahme, verwenden Sie das name Attribut):

{{ $article->issue->volume->name }} 

Für weitere Informationen über diese, nachschlagen "Nested Eager Loading" im documentation

+0

es funktioniert man^_ ^ –

Verwandte Themen