Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Die Paginierung in Laravel 4 funktioniert für eine Seite. aber nicht für einen anderen arbeiten

Suchen Sie das Formular besser mit der GET-Methode, da es einfach ist, die URL für die spätere Verwendung mit einem Lesezeichen zu versehen/zu speichern. In der Paginierung von Laravel 4 gibt es eine Methode zum Anhängen der Abfragezeichenfolge. So können wir die Suchabfragezeichenfolge auf anderen Seiten behalten.

Dokumente:http://laravel.com/docs/pagination#appending-to -Seitenumbruch-Links

Mein Code:

Suchformular

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

Routing

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

Verantwortlicher

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

Ansicht / Klinge At-Methode zum Anzeigen der Paginierung:

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

Also können wir das q=? beibehalten Abfragezeichenfolge auf anderen Seiten (z. B.:/lib/search?page=2&q=apple)