Tìm kiếm biểu mẫu tốt hơn bằng cách sử dụng phương pháp GET, vì nó giúp dễ dàng đánh dấu / lưu URL để sử dụng sau này. Trong Phân trang của Laravel 4, có một phương pháp để nối chuỗi truy vấn. Vì vậy, chúng tôi có thể giữ chuỗi truy vấn tìm kiếm trong các trang khác.
Tài liệu: http://laravel.com/docs/pagination#appending-to -pagination-links
Mã của tôi:
Biểu mẫu tìm kiếm
<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>
Định tuyến
Route::get('lib/search', '[email protected]');
Bộ điều khiển
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'));
}
Chế độ xem / Lưỡi dao Tại phương thức để hiển thị phân trang:
{{ $posts->appends(array('q' => $search))->links() }}
Vì vậy, chúng tôi có thể giữ q =? chuỗi truy vấn trong các trang khác (ví dụ:/ lib / search? page =2 &q =apple)