2012-11-16 3 views
0

저는 Codeigniter에서 Laravel로 오는 많은 다른 사람들과 비슷한 보트에 있습니다.페이징 및 편안한 컨트롤러가있는 Laravel 라우팅

데이터베이스 검색을 수행하고 결과를 올바르게 가져오고 올바르게 페이지 매김을 수행합니다. (한 번에 30 개만 표시하고 나머지 결과는 아래쪽에 링크를 표시합니다.)

컨트롤러의 get 기능으로 호출되는 부품 검색보기에서 시작합니다. 내가 결과를 당기는 컨트롤러에 게시물 함수가 있습니다. (URL은 부품 검색이지만 정지 기능입니다.)

페이지 6 (URI는 부품 검색? 페이지 = 6)을 선택하면 문제가 발생하여 가져 오는 기능으로 다시 라우팅됩니다. 첫 번째 부품 검색 페이지에서

은 내가 이런 식으로 뭔가를해야하고 싶은 말 :

Route::any('parts-search?page=(:any)')

하지만 동일한 검색 변수를 유지하는 방법을 모르거나 때마다 실행되는 쿼리가있는 경우.

routes.php

Route::controller('home'); 

Route::get('/', function() 
{ 
    return View::make('home'); 
}); 

Route::get('parts-search', '[email protected]_search'); 

Route::post('parts-search', '[email protected]_search'); 

home.php (컨트롤러)

public $restful = true; 

public function get_index() 
{ 
    return View::make('home'); 
} 

public function get_parts_search() 
{ 
    return View::make('part-search'); 
} 

public function post_parts_search() 
{ 
    if (Input::get('part_search')) 
    { 
     $term = Input::get('part_search'); 
     $parts = Part::where('part', 'LIKE', $term.'%') 
      ->order_by('part', 'asc') 
      ->paginate(30); 

     return View::make('results') 
     ->with('parts', $parts) 
     ->with('term', $term); 
    } 
    else 
    { 
     return View::make('part-search') 
      ->with('error', '<h1>Please enter a search term</h1>'); 
    } 

} 

직접 답변 모두 나를 배울 수있는 장소 :

이러한 내 파일입니다 매우 감사하게 될 것입니다 ... 그리고 어떤 코스 교정은 나를위한 Laravel의 날 3입니다. 감사!

그래서 분명히 라우팅 문제이지만, 어디서부터 시작해야할지 모르는 단서가 없다는 것을 확인했습니다. 그리고 나는 하루 종일 구글 신에게 아무 쓸모가 없다고 요구하고있다.

답변

0

일반적으로 GET 요청으로 검색 쿼리를 수행하면 검색 키워드가 URI에 나타납니다. 대부분의 응용 프로그램은 스택 오버플로조차도 이렇게합니다.

페이지를 변경하려는 경우 쿼리 문자열을 유지하려면 can append to the pagination links.

+0

이제는 내 문제는 페이지 매김이?와 링크를 생성하지만, /를 제외하고는 구문 분석 할 수 없다는 것입니다. Route :: get ('결과 (? any?)', function ($ term = NULL)을 설정하려고해도 404가 표시됩니다. – Jonathan