q != null) { $query = Employee::where('name', 'like', '%'.$request->q.'%')->orWhere('whatsapp', 'like', '%'.$request->q.'%')->orderBy('id'); } else { $query = Employee::orderBy('id'); } return inertia('Employees', [ 'employees' => $query->paginate(10), ]); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $request->validate([ 'name' => 'required|string', 'whatsapp' => 'nullable|string', 'photo' => 'nullable|image' ]); $employee = Employee::make($request->only(['name', 'whatsapp'])); $photo = $request->file('photo'); if ($photo != null) { $photo->store('public'); $employee->photo = $photo->hashName(); } $employee->save(); return redirect()->route('employees.index'); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, Employee $employee) { $request->validate([ 'name' => 'required|string', 'whatsapp' => 'nullable|string', 'photo' => 'nullable|image' ]); $employee->fill($request->only(['name', 'whatsapp'])); $photo = $request->file('photo'); if ($photo != null) { if ($employee->photo != null) { Storage::delete('public/'.$employee->photo); $employee->photo = null; } $photo->store('public'); $employee->photo = $photo->hashName(); } $employee->save(); return redirect()->route('employees.index'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Employee $employee) { if ($employee->photo != null) { Storage::delete('public/'.$employee->photo); } $employee->delete(); return redirect()->route('employees.index'); } }