cookie("sort"); } switch ($sort_by) { case("price"): $sort_by = "discounted_price"; break; case("discounted_price"): $sort_by = "discounted_price"; break; case("name"): $sort_by = "name"; break; case("shop"): $sort_by = "shop"; break; case("procent"): $sort_by = "procent"; break; case("time"): $sort_by = "created_at"; break; case("created_at"): $sort_by = "created_at"; break; default: $sort_by = "created_at"; break; } Cookie::queue(Cookie::make('sort', $sort_by, 60*24)); $order_by = $request->input("order"); if ( is_null($order_by) ) { $order_by = $request->cookie("order"); } if ( "desc" != $order_by ) { $order_by = "asc"; } Cookie::queue(Cookie::make('order', $order_by, 60*24)); $query = Input::get("q"); $q = "%" . $this->escapeLike($query) . "%"; $data = DB::table('all_view')->where('name', 'like', $q)->orWhere('spirit_type', 'like', $q)->orderBy($sort_by, $order_by)->simplePaginate(20); #$data = DB::table('whisky_view')->orderBy('procent', 'DESC')->limit(100)->simplePaginate(20); #var_dump($data); exit; return view('search', ['data' => $data, 'search_phrase' => $query ]); } private function escapeLike($string) { $search = array('%', '_'); $replace = array('\%', '\_'); return str_replace($search, $replace, $string); } }