public function getAutoSuggest($estadoId, Request $request) { $validator = Validator::make(['estado' => $estadoId], ['estado' => 'regex:/(^[A-Za-z0-9 ]+$)+/']); if ($validator->fails()) { return redirect()->route('homepage'); } $search = (string) $request->input('search', null); $limit = (int) $request->input('limit', 20); if (isset($search) && !empty($search) && isset($estadoId) && !empty($estadoId)) { //localizar un estado $estadoRegiones = Estado::findBy(["identificador" => $estadoId]); //verificar que tengamos almenos un estado if ($estadoRegiones->count() <= 0) { return redirect()->route('homepage'); } //obtenemos el cursor $estadoRegiones = $estadoRegiones->next(); //preparamos la respuesta $result = array(); //iteramos el resultado de las regiones de un estado foreach ($estadoRegiones['region'] as $region) { //convertimos el nombre de la region para eliminar los acentos $region_sinacentos = str_replace("'", "", iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $region['nombre'])); //comparamos la region sin acentos con el texto buscado if (preg_match('/.*' . $search . '.*/uUi', $region_sinacentos) && count($result) <= $limit) { $result[] = $region_sinacentos; } } //retornamos el arreglo de respuesta en formato Json return response()->json($result, 200); } return response()->json(array('error' => 'something is wrong'), 400); }
<ul id="topMain" class="nav nav-pills nav-main"> <li class="dropdown active"><!-- HOME --> <a class="dropdown" href="/"> HOME </a> </li> <li class="dropdown mega-menu"><!-- PORTFOLIO --> <a class="dropdown-toggle" href="#"> ESTADOS </a> <ul class="dropdown-menu"> <li> <div class="row"> <?php $estados = \App\Http\Models\Estado::findByAll(); $col = 1; $total = 6; $fila = 1; ?> @foreach($estados as $estado) <?php $total = $col == 1 || $col == 5 ? 7 : 6; ?> @if($fila==1) <div class="col-md-5th"> <ul class="list-unstyled"> @endif <li><a href="/estado/{{$estado["identificador"]}}">{{$estado["nombre"]}}</a></li> @if($fila==$total)