2016-12-14 6 views
0

Zum Beispiel haben wir zwei TabellenAnzeige aller Beiträge aller Benutzer

Benutzer und Post

Benutzer viele Beiträge, aber Beitrag gehört zu einem Benutzer.

Ich möchte alle Beiträge von den Benutzern auf einer Seite anzeigen.

Zum Beispiel: posts table

So wie kann ich mehrere Beiträge aus allen Benutzern auf einer Seite angezeigt werden?

+0

Mögliches Duplikat sehen [Wie Benutzer Beiträge in Laravel abfragen] (http://stackoverflow.com/questions/28630850/how-to-query -user-with-posts-in-Laravel) – mihaela

Antwort

0

Erstens: Um alle Benutzer in Ihnen Controller zu erhalten

$users = User::All(); 

dann können Sie diese Benutzer $ geben zu Ihrer Ansicht und eine Schleife durch alle $ Benutzer

foreach($users as $user){ 
    echo $user_email = $user->email; 
    $user_posts = $user->post; //multiple posts, but need to establish relation 
    echo "posts for this user"; 
    foreach($user_posts as $p){ 
     echo $p->title; 
    } 
} 

Hinweis: Für große Daten können langsamer und nicht gut sein.

User-Modell für Tisch Benutzer: sollte

........... 
........... 
public function posts(){ 
    return $this->hasMany('App\Post','user_id'); 
} 
.......... 
.......... 

Beitrag Modell mit Post als

OneToMany Beziehung haben für Beiträge Tabelle

........ 
........ 
public function user(){ 
    return $this->belongsTo('App\User'); 
} 
......... 
......... 

Sie müssen in Sie Beiträge Tabelle User_id Feld setzen.
Bitte beachten Sie auch über verzögertes Laden und Eager Loading

Verwandte Themen