get(); return view('admin.teachers.index', compact('teachers')); } public function create() { $subjects = Subject::orderBy('name')->get(); $levels = Level::orderBy('name')->get(); return view('admin.teachers.create', compact('subjects', 'levels')); } public function store(Request $request) { // Later we’ll add validation here // Create the User $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), ]); $user->assignRole('teacher'); // Handle profile picture upload (placeholder for now) $pathToFile = null; if ($request->hasFile('picture')) { $pathToFile = $request->file('picture')->store('teacher_pictures', 'public'); } // Create the TeacherProfile $teacher = TeacherProfile::create([ 'user_id' => $user->id, 'bio' => $request->bio, 'location' => $request->location, 'hourly_rate'=> $request->hourly_rate, 'picture' => $pathToFile, ]); // For later: attach subjects and levels // $teacher->subjects()->sync($request->subjects); // $teacher->levels()->sync($request->levels); // Redirect somewhere (dashboard for now) return redirect()->route('admin.dashboard') ->with('success', 'Teacher added successfully!'); } }