validate([ 'name' => 'required', 'email' => 'required|email|unique:customers', 'phone' => 'required', 'address' => 'required', 'license_number' => 'required', 'license_expiry' => 'required|date', 'dob' => 'required|date' ]); $customer = Customer::create($request->all()); // If AJAX request, return JSON if ($request->expectsJson()) { return response()->json(['id' => $customer->id, 'name' => $customer->name]); } return redirect()->route('customers.index')->with('success', 'Customer added successfully!'); } public function show(Customer $customer) { $customer->load('rentals'); return view('customers.show', compact('customer')); } public function edit(Customer $customer) { return view('customers.edit', compact('customer')); } public function update(Request $request, Customer $customer) { $request->validate([ 'name' => 'required', 'email' => 'required|email|unique:customers,email,' . $customer->id, 'phone' => 'required', 'address' => 'required', 'license_number' => 'required', 'license_expiry' => 'required|date', 'dob' => 'required|date' ]); $customer->update($request->all()); return redirect()->route('customers.index')->with('success', 'Customer updated successfully!'); } public function destroy(Customer $customer) { $customer->delete(); return redirect()->route('customers.index')->with('success', 'Customer deleted successfully!'); } }