2011-04-12 4 views

답변

108

Doctrine 2.1 메소드에서 EntityRepository # findBy()는 이제 주문, 제한 및 오프셋에 대한 추가 매개 변수를 허용합니다.

see full list new features in doctrine 2.1 (404) Relevant link to findBy and findOneBy

예 :

public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) 

사용 :

$product = $repository->findBy(
    array('name' => 'foo'), 
    array('price' => 'ASC'), 
    $myLimit, 
    $myOffset 
); 
+0

Thx, NikSen! 나는 Doctrine의 사이트를 최근에 확인하지 않았으므로 이것을 깨닫지 못했습니다! – blacktie24

+1

대답이 실제로 매개 변수의 사용 예제를 나열한 경우 정말 도움이 될 것입니다. – Acyra

+0

동의, 나는 이것에 대한 답변을 몇 분 동안 나 자신을 찾고 있었다. – Fapiko

3

일반 저장소 클래스의 findBy() 메소드는이를 지원하지 않습니다.

나는 자신의 저장소 (outlined here)를 작성하고 findBy()를 대체하여 추가 매개 변수를 가져옵니다. 새 구현에서는 쿼리 작성기 또는 일반 old-DQL을 사용하여 적절한 쿼리를 작성할 수 있습니다. (당신은 아마도 QueryBuilder::where()에 $ critera 매개 변수를 전달할 수 있기 때문에 querybuilder를 사용할 것입니다.)

+0

Thx timdev, 이것이 Doctrine 2.0에서 사용한 제안입니다. 대답을위한 – blacktie24

4

DQL를 들어 당신이 : QueryBuilder는 setMaxResults (정수에서 maxResults).

관련 문제