public function searchIndProfile() { if (Auth::check()) { $title = 'Profilesearch'; $city = Input::get('city'); $role = Input::get('role'); $min_exp = Input::get('min_exp'); $max_exp = Input::get('max_exp'); $prefered_jobtype = Input::get('job_type'); $resume = Input::get('resume'); $skill = Input::get('linked_skill_id'); $type = Input::get('type'); $skills = Skills::lists('name', 'name'); $users = Induser::orderBy('id', 'desc')->with('user'); $corpsearchprofile = Corpsearchprofile::where('user_id', '=', Auth::user()->id)->where('save_contact', '=', 1)->get(['profile_id']); if ($skill != null) { foreach ($skill as $skil) { $users->where('linked_skill', 'like', '%' . $skil . '%'); } } if ($city != null) { $users->where('prefered_location', 'like', '%' . $city . '%'); } if ($min_exp != null) { $users->whereRaw("experience between {$min_exp} and {$max_exp}"); } if ($role != null) { $users->whereRaw("(linked_skill like '%" . $role . "%' or role like '%" . $role . "%')"); } if ($prefered_jobtype != null) { foreach ($prefered_jobtype as $pj) { $users->where('prefered_jobtype', 'like', '%' . $pj . '%'); } } // if($prefered_jobtype != null){ // $users->whereIn('prefered_jobtype', $prefered_jobtype); // } if ($resume != null) { $users->whereNotNull('resume'); } $perProfile = ""; $searchSkill = ""; if ($skill == null) { $perProfile = '100'; } elseif ($skill != null) { $skillUser = Induser::first(['linked_skill']); $userSkills = array_map('trim', explode(',', $skillUser->linked_skill)); // unset ($userSkills[count($userSkills)-1]); $searchSkill = implode(',', Input::get('linked_skill_id')); $searchSkill = array_map('trim', explode(',', $searchSkill)); // unset ($searchSkill[count($searchSkill)-1]); $overlap = array_intersect($userSkills, $searchSkill); $counts = array_count_values($overlap); if (count($counts) > 0) { $perProfile = round(count($counts) / count($userSkills) * 100); } else { $perProfile = 0; } } $users = $users->paginate(5); // return $searchSkill; return view('pages.corpsearchProfile', compact('users', 'title', 'type', 'corpsearchprofile', 'perProfile', 'skills', 'city', 'role', 'min_exp', 'max_exp', 'skill', 'resume', 'prefered_jobtype')); } }