페이지 매김 링크를 클릭 할 때 검색 매개 변수를 보존하는 데 문제가 있습니다. 예를 들어 검색 쿼리가 40 개의 레코드를 반환하고 두 페이지가있는 경우 두 번째 페이지를 클릭하면 검색에서 반환 된 40 개 대신 전체 레코드 집합의 두 번째 페이지가 반환됩니다.검색 매개 변수를 사용하여 Laravel 페이지 매기기
public function postIndex(){
$validator = Validator::make(
Input::all(),
array('priceMin' => array('numeric'),
'priceMax' => array('numeric')
)
);
if ($validator->fails()){
return Redirect::to('items')->withInput()->withErrors($validator);
} else {
return Redirect::to('items')->withInput();
}
}
그리고 내 getIndex()
: 여기
postIndex()
입니다
가
retriever
객체가, 기존의 입력을 통해 루프 및 모든 유효한 검색 매개 변수를 발견
public function getIndex(){
$items= $this->retriever->getListings(Input::old(), 20);
return View::make('listings', array('items' => $items);
}
과 함께 데이터베이스를 쿼리 그 (것)들, 지정된 양 (이 경우에는 20)으로 페이지 매김을합니다.
나는 ->appends()
를 사용하려했지만 다음 데이터가 Input::old()
에없는 그것은 GET
하지 POST
사용하기 때문에 10 개 검색 매개 변수가있는 경우 그것은 끔찍한 URL을한다. 페이지 매김 링크에 매개 변수를 적용하려면 어떻게해야합니까?
검색 매개 변수를 데이터베이스에 저장하고 URL의 검색 ID 및 페이지 만 사용할 수도 있습니다. 더 많은 일을하지만 깨끗해. –
그래, 이것도 해결책이다. 이 방법을 통해 사용자가 무엇을 검색하는지 확인할 수 있습니다. – Andreyco
예, 처음에 내가 한 것처럼, 이것은 최근에 한 일입니다. 그래도 검색어를 저장하지 않습니다. 아마도 곧 구현할 것입니다. –