user()->projects() ->with(['tasks' => function ($query) { $query->select('id', 'project_id', 'status'); }]) ->latest() ->get(); return Inertia::render('Projects/Index', [ 'projects' => $projects, ]); } public function store(Request $request) { $data = $request->validate([ 'name' => 'required|string|max:255', 'description' => 'nullable|string', ]); auth()->user()->projects()->create($data); return redirect()->back(); } public function show(Project $project) { $project->load(['tasks.subtasks' => function ($query) { $query->orderBy('id'); }]); return Inertia::render('Projects/Show', [ 'project' => $project, ]); } public function update(Request $request, Project $project) { $data = $request->validate([ 'name' => 'required|string|max:255', 'description' => 'nullable|string', ]); $project->update($data); return redirect()->back(); } public function destroy(Project $project) { $project->delete(); return redirect()->route('projects.index'); } }