Sobrecarga de Mapeamento da Associação do Doctrine 2?

Mapeamento de Associação no Doctrine 2

<?php
class User
{
    //...
    /**
     * @ManyToMany(targetEntity="Group")
     * @JoinTable(name="User_Group",
     *      joinColumns={@JoinColumn(name="User_id", referencedColumnName="id")},
     *      inverseJoinColumns={@JoinColumn(name="Group_id", referencedColumnName="id")}
     *      )
     */
    private $groups;
    //...
}

Em teste, assumindo neste exemplo os $ groups inicializados como ArrayCollection () no construtor, retorna todos os grupos associados ao usuário.

Um programador da minha equipe de desenvolvimento apresentou um bom ponto sobre esse cenário. Ele carrega todos os grupos associados a uma entidade de usuário, talvez não precisemos de todos eles.

Ao fazer declarações de junção DQL, vamos dizer que queremos selecionar os grupos favoritos, alcançáveis ​​por junções DQL, nós juntamos usuário, grupo e favoritos. A Doctrine consulta todos os grupos novamente? Esta é a sobrecarga que estou tentando apontar, já existe uma coleção de array de todos os grupos.

Como podemos controlar o resultado do mapeamento de associação? Ou, se removermos os mapeamentos de associação, podemos ainda usar o DQL para unir entidades que não possuem a configuração de mapeamentos de associação? OU, o Doctrine realmente usa os dados do mapeamento de associação no DQL?

questionAnswers(0)

yourAnswerToTheQuestion