Group
(many-to-many)과 연관되어 User
엔티티를 상상해보십시오. 사용자 세부 정보를 표시해야합니다 (예 : 그룹 이름 또는 그룹 수). 내 컨트롤러 (심포니 2)에서 나는 모든 사용자를 얻을 수 있습니다 : 물론Doctrine으로 관련 엔티티를 계산할 때 많은 쿼리를 피하는 방법은 무엇입니까?
$users = $this->em->getRepository('My\Entity\User')
->getAll();
// Assign $users to whatever the view engine
return $this->render('users.html.twig', array('users' => $users));
, 기본적으로 협회 LAZY 인, 더 Group
와 작업을 수행 가입하지 않습니다. 이것은 대부분 좋은 시간입니다.
하지만 내보기에서 그룹 수를 얻으려고하면 어떻게됩니까?
{% for user in users %}
{{ user.groups|length }}
{% endfor %}
결과는 원시마다 하나의 쿼리가 수행됩니다. 즉, 쿼리 번호는 사용자 번호와 같습니다. 1000 명의 사용자 (페이지 매김 없음)는 어떻게됩니까?
User
클래스의 모든 관련 엔티티를 가져 오는 방법 (즉, 하나의 검색어 만 발행)은 어떻게 할 수 있습니까?
EXTRA-LAZY association은 어떻습니까? – manix