![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam.Od niedawna analizuje kod ZF.I nie mogę jednego pojąć.Otóż mam w ZF taką metode jak fetchAll która zwraca mi wszystkie rekordy z wybranej tabeli.Gdy zaglądam do klasy Zend_Db_Table_Abstract w której znajduje się ta metoda fetchAll.
Zwraca ona obiekt klasy Zend_Db_Table_Rowset,klasy której konstruktor nic nie zwraca.Dlaczego zwraca obiekt? Przecież powinna mi zwrócić tablice w której znajdują się rekordy? bardzo proszę o pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
o ile dobrze pamiętam to:
(IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował Pawel_W 5.01.2011, 16:16:05 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
No dobra.Ale FetchAll mi się wykonuje tylko na końcu nie zwraca wartości:-(
Chcę wiedzieć czy te operacje na bazie danych dzieją się dopiero w po wywołaniu w akcjach jakiejś operacji na bazie danych? Ten post edytował anonim1989 5.01.2011, 18:05:35 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam.Od niedawna analizuje kod ZF.I nie mogę jednego pojąć.Otóż mam w ZF taką metode jak fetchAll która zwraca mi wszystkie rekordy z wybranej tabeli.Gdy zaglądam do klasy Zend_Db_Table_Abstract w której znajduje się ta metoda fetchAll. Zwraca ona obiekt klasy Zend_Db_Table_Rowset,klasy której konstruktor nic nie zwraca.Dlaczego zwraca obiekt? Przecież powinna mi zwrócić tablice w której znajdują się rekordy? bardzo proszę o pomoc Dziwne, bo coś tu nie gra z tym, co napisałeś. Domyślnie dane zwracane są jako tablica asocjacyjna:
Poza tym, jeśli przypisujesz polu klasy X obiekt bazy danych w ten sposób:
to tak naprawdę zwracasz to, co zostało zdefiniowane w klasie Zend_Db_Table_Abstract czyli
Dodatkowo możesz określić sposób zwracania danych za pomocą metody setFetchMode i chyba to jest rozwiązanie Twojego problemu. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Widocznie czegoś nie rozumiem.Mam taką metoda jak fetchAll.Którą wywołuje w IndexController:
$this->view->albums = $album->fetchAll(); I wiem ze album dziedziczy z Zend_Db_Table.Dlatego sprawdzam czy jest tam metoda FetchAll.Niema jej .Dlatego sprawdzam jego Parent czy posiada tą metoda FetchAll.I posiada a ta metoda wygląda tak:
I jak widać zwraca utworzony obiekt zmiennej $rowsetClass czyli klasa Zend_Db_Table_Rowset.Która nie zwraca mi nic.Bardzo Proszę mi rozjaśnić o co tu chodzi .Widocznie czegoś tu nie rozumiem. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
I jak widać zwraca utworzony obiekt zmiennej $rowsetClass czyli klasa Zend_Db_Table_Rowset.Która nie zwraca mi nic.Bardzo Proszę mi rozjaśnić o co tu chodzi .Widocznie czegoś tu nie rozumiem. Przecież dałem linki do odpowiedzi?(IMG:style_emoticons/default/questionmark.gif) ITERATORY - wystarczy poczytać. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Przeczytałem .Przyjrze się dokładnie .Dzięki
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
Zwraca ona obiekt klasy Zend_Db_Table_Rowset,klasy której konstruktor nic nie zwraca.Dlaczego zwraca obiekt? ... I jak widać zwraca utworzony obiekt zmiennej $rowsetClass czyli klasa Zend_Db_Table_Rowset.Która nie zwraca mi nic. A od kiedy konstruktor coś zwraca, a tym bardziej klasa? Jeżeli tworzysz obiekt przez new to otrzymujesz obiekt tej klasy a nie to co zwraca konstruktor. To są podstawy OOP |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
no tak klasa nie może zwracać .pochrzaniło mi się.
Już kumam o co chodzi.Rzeczywiście chodzi o Itelatory.Dzięki za pomoc i fatyge Ten post edytował anonim1989 8.01.2011, 18:50:39 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 10:50 |