sql >> Databasteknik >  >> RDS >> Mysql

Paginering i Laravel 4 fungerar för en sida. men fungerar inte för en annan

Sökformuläret är bättre med GET-metoden, eftersom det gör det enkelt att bokmärka/spara URL:en för senare användning. I Laravel 4s paginering finns det en metod för att lägga till frågesträngen. Så vi kan behålla sökfrågan på andra sidor.

Dokument:http://laravel.com/docs/pagination#appending-to -pagineringslänkar

Min kod:

Sökformulär

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

Ruttning

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

Controller

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

Visa/blad Vid metod för att visa sidnumrering:

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

Så vi kan behålla q=? frågesträng på andra sidor (ex:/lib/search?page=2&q=apple)



  1. Förfina sökresultaten baserat på filtren

  2. Oracle.DataAccess.Client beroenden

  3. SQLite - Exportera data till en CSV-fil

  4. MySQL TIMESTAMP till QDateTime med millisekunder