Mysql
 sql >> Database >  >> RDS >> Mysql

L'impaginazione in Laravel 4 funziona per una pagina. ma non funziona per un altro

Cerca meglio il modulo utilizzando il metodo GET, perché è facile aggiungere/salvare l'URL ai segnalibri per un uso successivo. In Pagination di Laravel 4, c'è un metodo per aggiungere la stringa di query. Quindi, possiamo mantenere la stringa di query di ricerca in altre pagine.

Documenti:http://laravel.com/docs/pagination#appending-to -link di impaginazione

Il mio codice:

Modulo di ricerca

<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>

Percorso

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

Titolare

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'));
}   

Vista/Lama Al metodo per visualizzare l'impaginazione:

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

Quindi possiamo mantenere il q=? querystring in altre pagine (es:/lib/search?page=2&q=apple)