2014-01-06 133 views
1

在之前的文章Laravel - Search Facility on site using Eloquent後的一些幫助後,我現在需要幫助使用內置的laravel分頁類對結果進行分頁。Paginate搜索結果laravel

public function search() //no parameter now 
{ 
$q = Input::get('term'); 
if($q && $q != ''){ 
    $searchTerms = explode(' ', $q); 
    $query = DB::table('wc_program'); // it's DB::table(), not DB::tables 

if(!empty($searchTerms)){ 

    foreach($searchTerms as $term) { 
    $query->where('JobRef', 'LIKE', '%'. $term .'%'); 
    } 
} 
$results = $query->get(); 

dd($results); // for debugging purpose. Use a View here 
} 
} 
+0

我改變了$ results = $ query-> get(); 至 $ results = $ query-> paginate(10); 其中,但進行分頁,當我去3 2頁頁等等等等,我得到 的Symfony \分量\ HttpKernel \異常\ NotFoundHttpException 這事做路由? –

回答

2

只需將get更改爲paginate並提供每頁的項目數。

$results = $query->paginate(10); 
+0

這是我所做的,但錯誤:Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException這是與路由有關嗎? 我的路線是:Route :: post('search','HomeController @ search'); –

+1

當您點擊將您帶到第二個(或任何其他頁面)的鏈接時,您不再執行POST請求,而是執行GET請求。這就是爲什麼'Route :: post(...)'不起作用的原因。只需將搜索表單方法更改爲'GET'並註冊路由就像這樣'Route :: get('search','HomeController @ search');'你很好走。 – Andreyco

+0

好吧,我如何改變方法從帖子得到在這 {{Form :: open(array('url'=>'search','class'=>'navbar-form navbar-left','角色'=>'搜索'))}} –