input('sort', 'psection_id'); $sort_type = $request->input('sort_type', 'asc'); $query = Psection::query(); if (in_array($sort, ['psection_id', 'psection_subject'])) { $query->orderBy($sort, $sort_type); } $list = $query->get(); return view('admin.psection.list', compact('list', 'sort', 'sort_type')); } // 新規追加 public function add(Request $request) { if ($request->isMethod('post')) { $validated = $request->validate([ 'psection_id' => 'required|integer|unique:psection,psection_id', 'psection_subject' => 'required|string|max:255', ]); Psection::create($validated); return redirect()->route('psection')->with('success', '車種区分を追加しました'); } return view('admin.psection.add'); } // 編集 public function edit(Request $request, $id) { $psection = Psection::findOrFail($id); if ($request->isMethod('post')) { $validated = $request->validate([ 'psection_subject' => 'required|string|max:255', ]); $psection->update($validated); return redirect()->route('psection')->with('success', '車種区分を更新しました'); } return view('admin.psection.edit', compact('psection')); } // 詳細(info) public function info(Request $request, $id) { $psection = Psection::findOrFail($id); return view('admin.psection.info', compact('psection')); } // 削除 public function delete(Request $request) { $ids = $request->input('pk', []); if (!empty($ids)) { Psection::whereIn('psection_id', $ids)->delete(); return redirect()->route('psection')->with('success', '削除しました'); } return redirect()->route('psection')->with('error', '削除対象を選択してください'); } }