Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Doctrine i join, Bez LAZY LOAD
Fluke
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 20.09.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam,

Mam problem dotyczący ładowania innych obiektów powiązanych ze sobą. Czy w doctrine jest taka możliwość, żeby przypisywał od razu do obiektu powiązane obiekty ?
Sytuacja jest taka, że gdy chcę wybrać 30 rekordów i potrzebuję mieć dane z relacji to wykonuje się SELECT główny a po drodze wykonuje kolejne SELECT`y do tabel powiązanych relacją.

Temat do zamknięcia...
Głowiłem się pół dnia a po napisaniu tematu nagle mnie olśniło...
Rozwiązanie jest proste,
do queryBuildera w select wpisać aliasy tabel które nas interesują...

Podam przykład

  1. $quer = $this->getDoctrine()
  2. ->getRepository('Product')
  3. ->createQueryBuilder('p')
  4. ->select('p, c') //tutaj trzeba dodać jeszcze c aby od razu przypisywał obiekty. Bez tego aliasu, dostęp do obiektu category będzie wykonane LAZY LOAD
  5. ->join('p.category', 'c');
Go to the top of the page
+Quote Post

Posty w temacie
- Fluke   Doctrine i join   28.08.2013, 16:17:11
- - cadavre   Pierwszy akapit odpowiada na Twoje pytanie: http:/...   4.09.2013, 08:05:28


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 03:59