2016-11-20 5 views
0

Ich versuche herauszufinden, wie alle Beiträge für eine Kategorie mit Laravel Eloquent 5.3 zu bekommen.Laravel erhalten Beiträge nach Kategorie

Ich habe drei Tabellen ..

**Posts** 
id | title | text 

**Term_relationships** 
term_id | post_id 

**Terms** 
id | name 

Eloquent Modelle

class Term extends Model 
    { 
    public function posts() 
    { 
     return $this->belongsToMany('App\Post', 'term_relationship'); 
    } 
} 


class Post extends Model 
{ 
    public function terms() 
    { 
     return $this->belongsToMany('App\Term', 'term_relationship'); 
    } 

} 

class Term_relationship extends Model 
{ 

} 

ich mit zum Beispiel

Term::where('name', $category)->posts->get(); 
+0

Bitte liefern Sie Ihre Eloquent Modelle. Vielleicht müssen Sie die Beziehungen zwischen den Modellen definieren, um sie korrekt abzurufen. –

+0

Okey, ich habe jetzt den Beitrag mit den Modellen aktualisiert. – mattesj

Antwort

0

Einfach, versucht haben

, wenn Sie Beiträge wollen mit Bedingungen tun dies

$data = App\Post::with('terms')->get(); 

Ihrer Ansicht:

@foreach($data as $post) // will loop over posts and show title 
<div>{{$post->title }} </div> 
@foreach($post->terms as $term) 
    <div> {{ $term->title }} </div> // will loop and echo all terms for current post 
@endforeach 
@endforeach 

wenn Sie Begriffe mit Pfosten tun, um dieses

$data = App\Term::with('posts')->where('name', $category)->get(); 

Ihrer Ansicht

@foreach($data as $term) // will loop over terms and show title 
<div>{{$term->title }} </div> 
@foreach($term->posts as $term) 
    <div> {{ $post->title }} </div> // will loop and show all posts in each term 
@endforeach 
@endforeach 

Ich denke, die Sekunden Weg passt Ihren Bedürfnissen besser seit dem ersten Beispiel müssen Sie wherehas und einen Verschluss verwenden

+0

Dies zeigt nur die Begriffe Titel. Der $ post-> Titel wird nicht angezeigt. Sind meine eloquenten Modelle korrekt? – mattesj

+0

jeder sieht gut aus! Digu drin mehr! Sie sind sowieso näher, versuchen Sie, Ihre Fremdschlüssel im Modell anzugeben (Dokument prüfen) –

Verwandte Themen