Пример #1
0
 public function search(Request $request, Facebook $fb)
 {
     $search = $request->search;
     //dump($search);
     $location = $request->location;
     //dump($location);
     $upah_max = $request->upah_max;
     if (is_null($upah_max) || $upah_max === "") {
         $upah_max = PHP_INT_MAX;
     } else {
         $upah_max = intval($upah_max);
     }
     //dump($upah_max);
     $upah_min = $request->upah_min;
     if (is_null($upah_min)) {
         $upah_min = 0;
     } else {
         $upah_min = intval($upah_min);
     }
     //dump($upah_min);
     $kategori = $request->category;
     //dump($kategori);
     $order = $request->order;
     if (is_null($order) || $order === "") {
         $order = "user_info.user_rating";
     }
     //dump($order);
     $catList = DB::table('category')->select('kategori')->get();
     //dump($catList);
     $jobs = DB::table('job')->join('users', 'users.id', '=', 'job.freelancer_info_id')->join('user_info', 'user_info.user_id', '=', 'users.id')->join('job_category', 'job_category.job_id', '=', 'job.id')->join('category', 'category.id', '=', 'job_category.category_id')->select('user_info.user_id', 'users.name', 'user_info.alamat', 'job.judul', 'job.deskripsi', 'job.upah_max', 'job.upah_min', 'job.id', 'user_info.profile_picture_link', 'user_info.user_rating', 'job.freelancer_info_id')->where('judul', 'LIKE', '%' . $search . '%')->where('user_info.alamat', 'LIKE', '%' . $location . '%')->where('job.upah_max', '<=', $upah_max)->where('job.upah_min', '>=', $upah_min)->where('category.kategori', 'LIKE', '%' . $kategori . '%')->orderBy($order)->paginate(10);
     //-> get();
     //->get();
     //dump(count($jobs)==0);
     //dd($jobs);
     $recomendedJobs = array();
     $fbfriends = array();
     if (Session::has('fb_user_access_token')) {
         try {
             $response = $fb->get('/me?fields=friends', Session::get('fb_user_access_token'));
         } catch (\Facebook\Exceptions\FacebookSDKException $e) {
             dd($e->getMessage());
         }
         $graphNode = $response->getGraphObject();
         $fbfriends = json_decode($graphNode["friends"], true);
     }
     foreach ($fbfriends as $fbfriend) {
         $friendSocAccs = SocialAccount::where('provider_user_id', $fbfriend['id'])->get();
         foreach ($friendSocAccs as $friendSocAcc) {
             $friendAccs = User::where('id', $friendSocAcc->user_id)->get();
             foreach ($friendAccs as $friendAcc) {
                 foreach ($jobs as $job) {
                     if ($job->user_id == $friendAcc->id) {
                         array_push($recomendedJobs, $job);
                         $jobs->forget($jobs->search($job));
                         // $a = 'WKWK';
                         // dd($a);
                     }
                 }
             }
         }
     }
     $request->flash();
     return View('search')->with('jobs', $jobs)->with('search', $search)->with('catList', $catList)->with('fbfriends', $fbfriends)->with('recomendedJobs', $recomendedJobs);
 }