validate([ 'name' => 'required', 'email' => 'nullable|email', 'logo' => 'nullable|image|dimensions:min_width=100,min_height=100', 'website' => 'nullable|url', ]); if ($request->hasFile('logo')) { $path = $request->file('logo')->store('public/logos'); $request->merge(['logo' => $path]); } Company::create($request->all()); return redirect()->route('companies.index')->with('success', 'Company created successfully.'); } public function show(Company $company) { return view('companies.show', compact('company')); } public function edit(Company $company) { return view('companies.edit', compact('company')); } public function update(Request $request, Company $company) { $request->validate([ 'name' => 'required', 'email' => 'nullable|email', 'logo' => 'nullable|image|dimensions:min_width=100,min_height=100', 'website' => 'nullable|url', ]); if ($request->hasFile('logo')) { $path = $request->file('logo')->store('public/logos'); $company->logo = $path; } $company->update($request->all()); return redirect()->route('companies.index')->with('success', 'Company updated successfully.'); } public function destroy(Company $company) { $company->delete(); return redirect()->route('companies.index')->with('success', 'Company deleted successfully.'); } }