diff --git a/app/Http/Controllers/Admin/QuestionController.php b/app/Http/Controllers/Admin/QuestionController.php index c4c530e..3b89b18 100644 --- a/app/Http/Controllers/Admin/QuestionController.php +++ b/app/Http/Controllers/Admin/QuestionController.php @@ -8,15 +8,16 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class QuestionController extends Controller { public function index(Request $r) { - $subjects = Subject::all(); - $query = Question::with('subject')->latest(); - if ($r->filled('subject')) $query->where('subject_id', $r->subject); - $questions = $query->paginate(20)->withQueryString(); - return view('admin.questions.index', compact('questions','subjects')); + $subjects = Subject::withCount(['questions as total', 'activeQuestions as active'])->get(); + $activeSubject = $subjects->firstWhere('id', $r->subject) ?? $subjects->first(); + $questions = Question::where('subject_id', $activeSubject->id) + ->latest()->paginate(25)->withQueryString(); + return view('admin.questions.index', compact('questions','subjects','activeSubject')); } - public function create() { - $subjects = Subject::all(); - return view('admin.questions.create', compact('subjects')); + public function create(Request $r) { + $subjects = Subject::all(); + $activeSubject = $subjects->firstWhere('id', $r->subject) ?? $subjects->first(); + return view('admin.questions.create', compact('subjects','activeSubject')); } public function store(Request $r) { $r->validate([ diff --git a/resources/views/admin/questions/create.blade.php b/resources/views/admin/questions/create.blade.php index 84e39fd..67631c0 100644 --- a/resources/views/admin/questions/create.blade.php +++ b/resources/views/admin/questions/create.blade.php @@ -2,7 +2,7 @@ @section('title','Neue Frage') @section('content')