entries()->with(['student','audition'])->get(); $auditions = Audition::deadlineNotPast(); $students = Auth::user()->students; return view('entries.index',['entries' => $entries, 'students' => $students, 'auditions' => $auditions]); } public function store(Request $request) { if ($request->user()->cannot('create', Entry::class)) abort(403); // TODO write custom rule to verify the combination of student and audition is unique $request->validate([ 'student_id' => ['required', 'exists:students,id'], 'audition_id' => ['required', 'exists:auditions,id'] ]); $entry = Entry::create([ 'student_id' => request('student_id'), 'audition_id' => request('audition_id') ]); return redirect('/entries'); } public function destroy(Request $request, Entry $entry) { $entry->delete(); return redirect('/entries')->with('success','The ' . $entry->audition->name . 'entry for ' . $entry->student->full_name(). 'has been deleted.'); } }