Mapowanie Stowarzyszenia Doctrine 2?

Mapowanie asocjacji w 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;
    //...
}

W teście, zakładając, że w tym przykładzie $ groups zainicjowane jako ArrayCollection () w konstruktorze, zwraca wszystkie grupy powiązane z użytkownikiem.

Programista w moim zespole programistycznym poruszył dobrze ten scenariusz. Ładuje wszystkie grupy powiązane z jednostką użytkownika, możemy ich nie potrzebować.

Podczas wykonywania instrukcji dołączania DQL, powiedzmy, że chcemy wybrać ulubione grupy, możliwe do uzyskania przez połączenia DQL, dołączamy do użytkownika, grupy i ulubionych. Czy Doctrine ponownie pyta wszystkie grupy? To jest koszt ogólny, który próbuję wskazać, jest już zbiór tablicowy wszystkich grup.

Jak kontrolujemy wynik z mapowania powiązań? Lub jeśli usuniemy mapowania powiązań, czy nadal możemy używać DQL do łączenia jednostek, które nie mają konfiguracji mapowań skojarzeń? LUB czy Doctrine rzeczywiście używa danych z mapowania powiązań w DQL?

questionAnswers(0)

yourAnswerToTheQuestion