Персонализированный пейджинг в Laravel - PullRequest
1 голос
/ 10 октября 2019

Я делаю пейджинг с массивом в Laravel, и я не знаю, как продолжить. Он показывает мне ссылки на нумерацию страниц, показывает только два массива данных, когда их четыре, но первая страница идет хорошо, а затем следующая страница перенаправляет меня на несуществующий маршрут.

Должен ли я иметь какой-либо маршрутна моем web.php?

Это мой контроллер:

 public function guardar(Request $request)
            {
                $marker = new Marker;
                $marker->name = $request->nombre;
                $marker->address = $request->direccion;

                $marker->idG = $request->idG;

                $pos = strpos($request->LatLng, ',');
                $latitud = substr($request->LatLng, 1, $pos-1);
                $longitud = substr($request->LatLng, $pos+1,strlen($request->LatLng));

                $marker->lat = $latitud;
                $marker->lng = $longitud;
                $marker->idMarker = $request->idMarker;
                $marker->type = $request->types;

                $marker->save();

                $busqueda = new Users_busquedas();
                $busqueda = $busqueda->ultimaBusquedaUser();

                $asesores = new Asesor();
                $asesores = $asesores->asesorByProvincia($busqueda->cbx_provincia);


                $datos = Array();
                foreach($asesores as $asesor){
                    //por cada asesor busco la provincia
                    $provincia = new Provincia;
                    $provincia = $provincia->getProvinciaAsesor($busqueda->cbx_provincia);
                    $municipio = new Municipio;
                    $municipio = $municipio->getMunicipioAsesor($asesor->cbx_municipio);

                    array_push($datos,$asesor->name,$asesor->email,$provincia[0]->provincia,$municipio[0]->municipio);
                // items per page
            $perPage = 8;

            $paginate = new Paginator($datos, $perPage);
            $paginate->withPath('guardar/next');
                }

                // var_dump($datos);
                return view('seleccionadoCCV',['marcas'=>$marker],['datos' => $paginate]);

            }

Это мой взгляд:

                    <?php
                    if (count($datos) == 0)
                    {
                        echo '<p><h2>Todavía no hay asesores en tu zona</h2></p>';
                    }
                    $count = 0;

                    for ($i = 0; $i < count($datos); $i++) {
                    $count++;
                    echo'<input type="text" class="nombre" readonly value="'. $datos[$i] .'">';
                        if($count%4 == 0)
                        {
                            echo'<input  class="bntSelectCC" type="button" value="Seleccionar">';
                            echo'<br>';
                        }                         
                    }
                    ?>

            </form>
            {{ $datos->links() }}

        </div>

Когда я даю следующее, я перехожу к следующемумаршрут и говорит, что он не существует:

http://localhost:8000/guardar/next?page=2

Я использую Laravel версии 6

1 Ответ

0 голосов
/ 10 октября 2019

Для справки, пожалуйста, проверьте мой образец кода ниже:

Код контроллера:

$usersListAry = DB::table('Users')->select('Users.*')->where('Users.isDeleted','=', 0)->orderBy('id', 'asc')->paginate(10);

return view('pages.adminUsers.user_list', compact('usersListAry'))->with('i', ($request->input('page', 1) - 1) * 10);

Просмотреть код нумерации страниц:

@if ($usersListAry->count()>0)
<div class="">
    {!! $usersListAry->render() !!}
</div>
@endif 
...