sql >> Database >  >> RDS >> Mysql

Paginering in Laravel 4 werkt voor één pagina. maar niet werken voor een ander

Zoek het formulier beter met de GET-methode, omdat het gemakkelijk is om de URL te bookmarken/op te slaan voor later gebruik. In Paginering van Laravel 4 is er een methode om de queryreeks toe te voegen. Dus we kunnen de zoekreeks op andere pagina's behouden.

Docs:http://laravel.com/docs/pagination#appending-to -paginatie-links

Mijn code:

Zoekformulier

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

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

Bekijken / Blade Bij methode om paginering weer te geven:

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

Zodat we de q=? . kunnen behouden querystring op andere pagina's (bijv. /lib/search?page=2&q=apple)



  1. Reguliere expressie (RegEx) voor IPv6 gescheiden van IPv4

  2. SQL Server:drop-tabel cascade-equivalent?

  3. Verborgen functie:slepen en neerzetten van toegang tot objecten tussen bestanden

  4. Loop door alle tabellen en hernoem een ​​kolom