2012-01-18 2 views
1

나는 결과가 반환 페이지를 매기려고: 쿼리 대 기준은

$units = UnitQuery::create()->find(); 

추진에서이 쿼리를 가지고, 그래서 내가 문서에 따라 같이 만든 PropelPager를 사용할 필요가 추측 내가 이해하지 못하는 어떤이

$criteria = new Criteria(); 
$criteria->add(BookPeer::AUTHOR, $authorId); 
$pager = new PropelPager($criteria, 'BookPeer', 'doSelect', $page = 1, $rowsPerPage = 30); 

내가 보통 $criteria에 사용하는 1 개 라인 $units 쿼리를 변환하는 방법입니다.

$units과 같은 일반적인 검색어를 사용하는 방법이 있습니까? PropelPager? 쿼리를 변경하면 $criteriadoSelect를 사용하는 것보다 쉬울 것 등

답변

6

당신은 단순히이 수행 할 수 있습니다

$units = UnitQuery::create() 
    ->filterByStuff($stuff) 
    ->paginate($page = 1, $rowsPerPage = 30); 

을 그리고 당신이 정말로 정의 호출기를 사용하려면 (하지만 경우에 당신은 아마하지 않습니다) Btw는

$query = UnitQuery::create()->filterByStuff($stuff); 
$pager = new MyModelPager($query, $rowsPerPage = 30); 
$pager->setPage($page = 1); 
$pager->init(); 

, 추진 XXXQuery 클래스 스테로이드 단지 기준이다)

0

PAGINATE 방법에 의해 생성 된 호출기 인스턴스 O이며 PropelPager에 완전히 다른 클래스 (다른 인터페이스에 순응) 인 PropelModelPager.

Query 개체가 Criteria를 확장 할 때 PropelPager의 하위 클래스를 사용하여 다른 것들 사이에 캐싱을 추가 할 때 필요한 PropelPager를 사용할 수도 있습니다.

$ unitQuery = UnitQuery :) (생성;

$ pager = new PropelPager ($ unitQuery, 'UnitPeer', 'doSelect', $ page = 1, $ rowsPerPage = 30);

관련 문제