Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%)
|
witam
napisałem zapytanie, którego Propel sam nie wygeneruje. łączone są w nim 3 tabele. chciałbym teraz pobrać dane z dwóch tabel i w widoku mieć dostęp do tych danych poprzez odpowiedni model (odpowiedni dla tych tabel). można to jakoś zamienić na obiekty? chciałbym uzyskać coś takiego co zwraca metoda doSelectJoinAll. nie mogę jednak połapać się jak takie coś samemu zmontować. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
Metoda hydrate ma drugi (opcjonalny) parametr $startcol, który określa numer kolumny od której zacząć tworzenie obiektu.
Czyli pobierając w jednym RS dwie tabele author i book (w tej kolejności) można zrobić np: $book->hydrate($rs, AuthorPeer::NUM_COLUMNS + 1); Warunek jest jeden: trzeba pobrać kolumny w takiej kolejności jak w tabeli. Piszę z pamięci, ale kiedyś miałem dosyć zagmatwaną sytuację przy tworzeniu obiektów i właśnie w ten sposób "powoływałem" je do życia. //EDIT @mike - mogę się mylić, ale z tego co pamietam to po drodze trzeba jeszcze "wyzerować" rs tak żeby znów zaczął od pierwszego wiersza - coś mi tak świta. Także w twoim przypadku kod nie zadziała bo trzeba wskazać startcol i chyba wyzerować $rs. Ten post edytował athabus 15.10.2008, 15:19:44 |
|
|
|
Post
#3
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Warunek jest jeden: trzeba pobrać kolumny w takiej kolejności jak w tabeli. Nom. To jest spora niedogodność. W przeciwnym wypadku trzeba przepisywać metodę hydrate(). Da się ją napisać chyba tak, żeby sama szukała odpowiednich pól w wierszu.@mike - mogę się mylić, ale z tego co pamietam to po drodze trzeba jeszcze "wyzerować" rs tak żeby znów zaczął od pierwszego wiersza - coś mi tak świta. Także w twoim przypadku kod nie zadziała bo trzeba wskazać startcol i chyba wyzerować $rs. No właśnie raczej nie trzeba zerować. No jak lecisz po wynikach to od razu możesz z jednego wiersza wyciągnąć dwa obiekty. Nie ma potrzeby latać dwa razy po wynikach.
|
|
|
|
AxZx [Symfony][Propel] własne zapytanie, obiekty 15.10.2008, 13:15:46
mike Jeśli zmontowałeś jakies zapytanie, które zwraca C... 15.10.2008, 13:21:00
AxZx dobrze powiedziałeś: kombinować:)
b... 15.10.2008, 14:00:59
mike Pokaż jak. Nie mam możliwości spraw... 15.10.2008, 14:46:17
AxZx hmm ja to zrobiłem tak:
[PHP] pobierz, plaintext ... 15.10.2008, 15:27:07
athabus Faktycznie mike masz racje - nie spojrzałem dokład... 15.10.2008, 16:00:42 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 09:44 |