when(isset($request->search) , function ($query) use ($request){ $query->where(function ($q) use ($request) { $q->where('id', 'LIKE', "%{$request->search}%") ->orWhereHas('document', function ($documentQuery) use ($request) { $documentQuery->where('code', 'LIKE', "%{$request->search}%"); }) ->orWhereHas('doctor', function ($userQuery) use ($request) { $userQuery->where('fullname', 'LIKE', "%{$request->search}%") ->orWhere('username', 'LIKE', "%{$request->search}%") ->orWhere('email', 'LIKE', "%{$request->search}%"); }); }); }) ->when(isset($request->status) && $request->status != 'همه وضعیت ها', function ($query) use ($request) { $query->where('status' , $request->status); }) ->latest() ->paginate(20) ->withQueryString() ->onEachSide(1); $reports = ReportResource::collection($lists); return Inertia::admin('Reports/index', [ 'reports' => $reports, 'search' => $request->search, 'status' => $request->status, ]); } public function create() { // } public function store(ReportRequest $request) { Report::create([ 'document_id' => $request->document_id, 'doctor_id' => $request->doctor_id, 'status' => ReportStatusEnum::fromName($request->status)->value, 'body' => $request->body, 'submitted_at' => $request->submitted_at, ]); session()->flash('success', 'گزارش با موفقیت ثبت شد'); return response(null , 200); } public function show(Report $report) { // } public function edit(Report $report) { return Inertia::admin('Reports/edit', [ 'report' => $report, ]); } public function update(ReportRequest $request, Report $report) { $report->update([ 'document_id' => $request->document_id, 'doctor_id' => $request->doctor_id, 'status' => ReportStatusEnum::fromName($request->status)->value, 'body' => $request->body, 'submitted_at' => $request->submitted_at, ]); session()->flash('success', 'گزارش با موفقیت ویرایش شد'); return response(null , 200); } public function destroy(Report $report) { $report->delete(); session()->flash('success', 'گزارش با موفقیت حذف شد'); return response(null , 200); } }