Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][doctrine]Pobranie tylko wybranych pol z joinowanej tabeli
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Hejka,
w klasie repository mam taki kod:

  1. $query = $this->createQueryBuilder('s')
  2. ->leftJoin('s.user', 'u')->addSelect('u')
  3. ->orderBy('s.id', 'DESC')
  4. ->getQuery();

ktory to pobiera dane z tabeli s oraz JOINuje tabele u. Wszystko fajnie pieknie, tylko ten kod zwraca mi wszystkie pola z tabeli u a ja bym chcial pobrac tylko dwa pola z tabeli u.
Przegladam dokumentacje i wychodzi, ze za bardzo sie nie da.
Probowalem nawet tak
->addSelect(['u.pole1', 'u.pole2'])
ale to skolei pluje mi wyjatkiem
Cytat
Call to a member function getId() on array


Da sie to zrobic w tym queryBuilder czy musze inaczej budowac zapytanie?
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




hm... Ok, to jest jakis trop. Porownam co jest zwracana gdy jest ok z tym co jest zwracane gdy nie jest ok i dam znac

edit:
@Turson dzieki, miales rzecz jasna racje.
Normalnie mialem obiekt entity S a w nim jego pola oraz enity U.
W momencie gdy dodawalem tylko wybrane pola dla U, mialem tablice o indexach:

0 - i tu normalnie po staremu obiekt enity S
id - tu id z tabeli U
username - tu username z tabeli U

Czyli mialem tablice z indexem 0 gdzie byl normalnie entity S oraz dodatkowe indexy na pola ktore wybralem z U. Lekko zakrecone (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.10.2025 - 05:38