Wat ga je maken?
Onder elk artikel kunnen bezoekers reageren. De reacties worden opgeslagen in de database en getoond op de detailpagina.
Waarom is dit nuttig?
Dit is je eerste échte één-op-veel-relatie mét formulier. Precies de kern van Eloquent.
commentstabel. Denk na over de kolommen: wie, wat, bij welk artikel, wanneer.foreignId('post_id')->constrained()->cascadeOnDelete(). Zoek uit wat cascadeOnDelete() doet en waarom dat hier handig is.Post::comments() (hasMany) en Comment::post() (belongsTo)./posts/{post}/comments.back().approved toe: reacties zijn pas zichtbaar nadat jij ze goedkeurt. Zo bereid je opdracht 8 voor.php artisan make:model Comment -mc # model + migratie + controller in één keer
// Opslaan via de relatie: post_id wordt automatisch ingevuld
$post->comments()->create($validated);
// Ophalen zonder N+1-probleem
$post->load(['comments' => fn ($q) => $q->latest()]);
{{-- Leesbare datum, dankzij Carbon --}}
<time>{{ $comment->created_at->diffForHumans() }}</time>
$fillable): https://laravel.com/docs/13.x/eloquent#mass-assignment