Models en relaties

Een User heeft posts. We kunnen ons User model uitbreiden om deze posts snel op te kunnen halen. Onderstaande methode doen al het werk

public function posts()
{
    return (new Post)->where('user_id', $this->id)->get();
}

Uiteraard moet je wel een Model Post aanmaken en een require toevoegen in index.php


Alle geplaatste posts van gebruiker 2 ophalen is nu heel eenvoudig

$user = (new User)->find(2);  //selecteren van de user
dd($user->posts());

 

Het is uiteraard niet heel netjes om alle code in home.view.php te zetten.
Eigenlijk zou de regel

$user = (new User)->find(random_int(31, 90));
In de controller/home.php komen te staan en worden meegegeven aan de view
...
$user = (new User)->find(random_int(31, 90));

view("home", [
  'title' => $result['title'],
  'content' => $result['content'],
  'user' => $user,
]);

In de view kan je dan $user gebruiken als variabele