orderBy('sort_order')->get()->groupBy('category'); $categories = ReferenceArticle::categories(); return view('admin.reference.index', compact('articles','categories')); } public function create() { $categories = ReferenceArticle::categories(); return view('admin.reference.create', compact('categories')); } public function store(Request $r) { $r->validate(['title'=>'required|string|max:120','category'=>'required|in:deutsch,mathe,englisch','icon'=>'required|string|max:8','content'=>'required|string']); ReferenceArticle::create([ 'title' => $r->title, 'slug' => Str::slug($r->title).'-'.uniqid(), 'category' => $r->category, 'icon' => $r->icon, 'content' => $r->content, 'sort_order' => (int)$r->sort_order, ]); return redirect()->route('admin.reference.index')->with('success','Artikel erstellt.'); } public function edit(ReferenceArticle $reference) { $categories = ReferenceArticle::categories(); return view('admin.reference.edit', compact('reference','categories')); } public function update(Request $r, ReferenceArticle $reference) { $r->validate(['title'=>'required|string|max:120','category'=>'required|in:deutsch,mathe,englisch','icon'=>'required|string|max:8','content'=>'required|string']); $reference->update([ 'title' => $r->title, 'category' => $r->category, 'icon' => $r->icon, 'content' => $r->content, 'sort_order' => (int)$r->sort_order, ]); return redirect()->route('admin.reference.index')->with('success','Gespeichert.'); } public function destroy(ReferenceArticle $reference) { $reference->delete(); return redirect()->route('admin.reference.index')->with('success','Artikel gelöscht.'); } }