public function getUserJobMatchFilter(UserService $user, CompanyService $company, $user_id) { $retrieve = ['match_rate', 'from_date', 'to_date']; try { $input = Request::only($retrieve); Session::put('user_id', $user_id); $user_skills = $user->getAllUserSkills($user_id); $skill_ids = []; $job_ids = []; $job_posts = []; foreach ($user_skills as $skill_info) { $skill_ids[] = $skill_info['skill_id']; } if (count($skill_ids) > 0) { $job_ids = $company->getJobPostBySkills($skill_ids); if (count($job_ids) > 0) { $job_posts = $company->getCompanyJobPostByJobIdWithFilter($job_ids, $input); } } Session::forget('user_id'); return $this->json_response->success($job_posts); } catch (Exception $e) { return $this->json_response->error(['error' => $e->getMessage()]); } }