validate(['q' => 'required|string|min:2']); $keyword = $request->q; $limit = $request->input('limit', 5); $projects = Project::where('title', 'like', "%{$keyword}%")->limit($limit)->get(); $tasks = Task::where('title', 'like', "%{$keyword}%")->limit($limit)->get(); $users = User::where('name', 'like', "%{$keyword}%")->orWhere('email', 'like', "%{$keyword}%")->limit($limit)->get(); $meetings = Meeting::where('title', 'like', "%{$keyword}%")->limit($limit)->get(); $backlogItems = BacklogItem::where('title', 'like', "%{$keyword}%")->limit($limit)->get(); return response()->json([ 'success' => true, 'data' => [ 'projects' => ProjectResource::collection($projects), 'tasks' => TaskResource::collection($tasks), 'users' => UserResource::collection($users), 'meetings' => MeetingResource::collection($meetings), 'backlog_items' => BacklogItemResource::collection($backlogItems), ], 'message' => 'نتایج جستجو', ]); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => 'خطا در جستجو', ], 500); } } }