/**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     $query = Product::query()->with('module');
     if (Input::query('keyword')) {
         $query->where('name', 'like', '%' . Input::query('keyword') . '%');
     }
     $page = Input::query('page') ? Input::query('page') : 1;
     $per_page = Input::query('per_page') ? Input::query('per_page') : false;
     $list_total = $query->count();
     if ($per_page) {
         $query->skip(($page - 1) * $per_page)->take($per_page);
         $list_start = ($page - 1) * $per_page + 1;
         $list_end = ($page - 1) * $per_page + $per_page;
         if ($list_end > $list_total) {
             $list_end = $list_total;
         }
     } else {
         $list_start = 1;
         $list_end = $list_total;
     }
     $results = $query->get();
     return response($results)->header('Items-Total', $list_total)->header('Items-Start', $list_start)->header('Items-End', $list_end);
 }
 /** Ajax поиск по каталогу
  * @param array $params
  * @return Builder
  */
 private function ajaxSearch(array $params, Category $category = null)
 {
     is_null($category) ? $products = Product::query() : ($products = Product::query()->byCategory($category));
     if (array_key_exists('season', $params)) {
         $products = $products->bySeason($params['season']);
     }
     if (array_key_exists('new', $params)) {
         $products = $products->new();
     }
     return $products;
 }
 public function product_search(Request $request)
 {
     $this->setMetadata('Tìm kiếm tin đăng');
     $product_type_id = $request->input('product_type');
     $province_id = $request->input('province');
     $district_id = $request->input('district');
     $ward_id = $request->input('ward');
     $street_id = $request->input('street');
     $price_range_id = $request->input('price');
     $area_range_id = $request->input('area');
     $incense_type_id = $request->input('incense');
     $limit = Config::findByKey('rows_per_page_product')->first()->value;
     $searchDescription = "";
     $product_type = null;
     $province = null;
     $district = null;
     $ward = null;
     $street = null;
     $query = Product::query();
     try {
         if (isset($product_type_id) && $product_type_id != "") {
             $query->where('product_type_id', $product_type_id);
             $product_type = product_type::findOrFail($product_type_id);
             $searchDescription .= $product_type->name;
         }
         if (isset($province_id) && $province_id != "") {
             $query->where('province_id', $province_id);
             $province = Province::findOrFail($province_id);
             $searchDescription .= ", " . $province->name;
         }
         if (isset($district_id) && $district_id != "") {
             $query->where('district_id', $district_id);
             $district = District::findOrFail($district_id);
             $searchDescription .= ", " . $district->name;
         }
         if (isset($ward_id) && $ward_id != "") {
             $query->where('ward_id', $ward_id);
             $ward = Ward::findOrFail($ward_id);
             $searchDescription .= ", " . $ward->name;
         }
         if (isset($street_id) && $street_id != "") {
             $query->where('street_id', $street_id);
             $street = Street::findOrFail($street_id);
             $searchDescription .= ", " . $street->name;
         }
     } catch (Exception $e) {
     }
     $products = $query->paginate($limit);
     $product_types = Product_type::where('active', 1)->orderBy('priority')->orderBy('created_at', 'desc')->get();
     $hcmProvince = Province::findByKey('ho-chi-minh')->first();
     // dd($hcmProvince->id);
     $districtProduct = District::where('province_id', '=', $hcmProvince->id)->where('is_publish', 1)->orderBy('priority')->orderBy('created_at', 'desc')->get();
     return view('frontend.sites1.product_search', ['products' => $products, 'product_types' => $product_types, 'districtProduct' => $districtProduct, 'searchDescription' => $searchDescription]);
 }
 public function category($cat)
 {
     if ($cat == 'sales') {
         $productArray = \App\Product::where('sale', 1)->get();
     } else {
         $productArray = \App\Product::where('category', $cat)->get();
     }
     $games = new GiantBombApi();
     $gameInfo = $games->getAllGameInfoById(34402);
     $productimg = Product::query()->orderByRaw("RAND()")->limit(5)->get();
     $product_sale_img = Product::query()->where('sale', 1)->get();
     return view('shop.index', compact('gameInfo', 'productArray', 'productimg', 'product_sale_img'));
 }