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?