sql >> Base de Datos >  >> RDS >> Mysql

La paginación en Laravel 4 funciona para una página. pero no trabajo para otro

Busque mejor el formulario usando el método GET, porque es fácil marcar/guardar la URL para su uso posterior. En Paginación de Laravel 4, hay un método para agregar la cadena de consulta. Entonces, podemos mantener la cadena de consulta de búsqueda en otras páginas.

Documentos:http://laravel.com/docs/pagination#appending-to -paginación-enlaces

Mi código:

Formulario de búsqueda

<form method="get" action="{{{ URL::to('lib/search') }}}">
<input class="input-xxlarge" name="q" type="text" placeholder="Search...">
<div class="control-group">
    <div class="controls">
        <input type="submit" class="btn" id="submit" value="Submit" />
    </div>
</div>

Enrutamiento

Route::get('lib/search', '[email protected]');

Controlador

public function getSearch()
{
    $search = Input::get('q');

    $posts = $this->post->where('title', 'like', '%'.$search.'%')->paginate(10);

    return View::make('site/libraries/list', compact('posts', 'search'));
}   

Ver / Hoja En el método para mostrar la paginación:

{{ $posts->appends(array('q' => $search))->links() }}

Entonces podemos mantener el q=? cadena de consulta en otras páginas (por ejemplo:/lib/search?page=2&q=apple)