Een User heeft posts. We kunnen ons User model uitbreiden om deze 'posts' van de betreffende 'user' snel op te kunnen halen. Onderstaande methode doen al het werk
app/models/User.php
public function posts() { return (new Post)->where('user_id', $this->id)->get(); }
Alle geplaatste posts van gebruiker 2 ophalen is nu heel eenvoudig
$user = (new User)->find(2); //selecteren van de user dd($user->posts());
Voeg de methode posts() toe aan /app/models/User.php
Uitwerking
Uiteraard kan je ook de omgekeerde relatie in model Post toevoegen.
public function user() { return (new User)->where('id', $this->user_id)->get(true); }
Voeg de methode toe aan Post
Uitwerking
Voorbeeld van gebruik
$post = (new Post)->first(); $post->user()->name; //geeft de naam van de gebruiker die de post heeft gemaakt