2014-07-19 2 views
1

나는 다음과 같은 쿼리를 사용합니다. 문제는 페이지 매김에 간단한 계산 쿼리가 필요하며이 옵션과 같이 작동하지 않는다는 것입니다. 조인으로 레코드를 표시하기 위 한, 그들을 계산하는 다른 하나 둘 - 교리는 2 매김

Not all identifier properties can be found in the ResultSetMapping: username 

그래서 난 항상 두 개의 쿼리를 사용하는 것, 그것을 쪽수를 매기다합니다. 성능을 크게 떨어 뜨립니다.

나는 knplabs paginator, symfony 2 및 doctrine ORM을 사용합니다.

어떻게하는지 알려 줄 수 있습니까?

+0

https://github.com/doctrine/doctrine2/issues/2596#issuecomment-162359732 – Gabriel

답변

2

그것은

$dql = 'SELECT user 
     FROM AcmeBundle:User user 
     LEFT JOIN AcmeBundle:Shop shop 
     WITH user.id = shop.id'; 
    $query = $em->createQuery($dql); 
    $paginator = $this->get('knp_paginator'); 
    $pagination = $paginator->paginate(
     $query, 
     $this->get('request')->query->get('page', 1)/*page number*/, 
     10/*limit per page*/ 
    ); 
    return array(
     'pagination' => $pagination, 
    ); 

전체 객체 속성보다 오히려 '사용자 (user.username ..) 매기기에 전달해야한다 ..처럼

+0

이 기다리, 뭐? ID가 외래 키로 매핑되고 쿼리가 예상대로 작동합니다. – khernik

+0

그런 다음 페이지 매김 매개 변수로 전체 '사용자'또는 '상점'개체를 전달한 다음 나뭇 가지에서 관련된 특성 값을 가져오고 업데이트 된 답변을 참조하십시오. –