Wyszukuj formularz lepiej przy użyciu metody GET, ponieważ łatwo jest dodać do zakładek/zapisać adres URL do późniejszego wykorzystania. W Pagination Laravel 4 istnieje metoda dołączania ciągu zapytania. Dzięki temu możemy zachować ciąg zapytania wyszukiwania na innych stronach.
Dokumenty:http://laravel.com/docs/pagination#appending-to -linki do stronicowania
Mój kod:
Formularz wyszukiwania
<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]');
Kontroler
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'));
}
Widok/ostrze W metodzie wyświetlania stronicowania:
{{ $posts->appends(array('q' => $search))->links() }}
Więc możemy zachować q=? ciąg zapytania na innych stronach (np.:/lib/search?page=2&q=apple)