Files
cv-roberto/app/Http/Controllers/EducationController.php
Roberto fe47b79a25
All checks were successful
Tests / Laravel tests (pull_request) Successful in 3m24s
Fix controller cleanup issues
2026-06-03 21:57:10 +02:00

65 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\EducationRequest;
use App\Models\Education;
use Illuminate\Http\Request;
class EducationController extends Controller
{
public function index()
{
$educations = Education::with('media')->latest()->get();
return view('educations.index', compact('educations'));
}
public function create()
{
return view('educations.create');
}
public function store(EducationRequest $request)
{
$education = Education::create($request->validated());
$this->handleImageUpload($request, $education);
return redirect()->route('educations.index')->with('success', 'Opleiding toegevoegd.');
}
public function edit(Education $education)
{
return view('educations.edit', compact('education'));
}
public function update(EducationRequest $request, Education $education)
{
$education->update($request->validated());
$this->handleImageUpload($request, $education, true);
return redirect()->route('educations.index')->with('success', 'Opleiding bijgewerkt.');
}
public function destroy(Education $education)
{
$education->clearMediaCollection('image');
$education->delete();
return redirect()->route('educations.index')->with('success', 'Opleiding verwijderd.');
}
protected function handleImageUpload(Request $request, Education $education, bool $replace = false): void
{
if ($request->hasFile('afbeelding')) {
if ($replace) {
$education->clearMediaCollection('image');
}
$education->addMediaFromRequest('afbeelding')->toMediaCollection('image');
}
}
}