![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Uczę się dopiero Doctrine i zastanawia mnie jedno. Czy inner join tabel, które mają zdefiniowaną relację OneToMany daje się osiągnąć jedynie poprzez querybuilder?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
W takim razie problemem raczej jest sposób hydrowania danych, można to rozwiązać na dwa sposoby:
1. Użyć odpowiedniej adnotacji (LAZY, EAGER lub EXTRA LAZY), więcej np. tutaj: http://docs.doctrine-project.org/projects/...sociations.html i to się sprawdzi jeśli wiemy, że np. wraz z obiektem User zawsze będziemy potrzebowali kolekcji emaili (wtedy ustawiamy na EAGER) 2. Jeśli sposób hydrowania jest zależny od kontekstu, to nie ma innego (wygodnego) wyjścia jak użyć query buildera. Jednak nie wystarczy: - trzeba jeszcze wymusić pobieranie poprzez dodanie select:
W ten sposób emaile zawsze będą w user niezależnie od tego, czy są potrzebne czy nie. Więcej nie da się powiedzieć bo nie znam Twojego kodu, równie dobrze problemem mogą być źle zaprojektowane encje. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 13:48 |