Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 4 Dołączył: 22.10.2006 Ostrzeżenie: (0%)
|
problem prawodopodobnie jest prosty ale nigdzie nie moglem znalesc tego - pewnie zle szukam (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)
dopiero zaczynam z programowaniem obiektowy i dla mnie to troche abstrakcja zalozmy ze mamy wyswietlic liste 10 ostatnich newsow. mam klase 'news' aby pobrac dane trzeba podac w konstruktorze id, ten z koleji ustawia wszystkie dane po koleji. problem jest taki zeby pobrac kazdego newsa a) musimy znac jego id (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) za kazdym razem wykonuje zapytanie mysql, wiec w sumie wykonujemy 11 zapytan wiec rozwiazanie jest do wiadomo czego (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) pytanie jak to napisac aby to bylo dobrze |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%)
|
@Gecco
Nie będę pisał czegoś co już jest napisane http://propel.phpdb.org/trac/wiki/Users/Do...n/1.2/BasicCRUD Tu masz przykład wykorzystania tego w ORM, tylko że on daje o wiele więcej. Mała kopia z powyższego linku:
BookPeer to właśnie DAO, metoda retrieveByPK() pobiera jeden wiersz o zadanym kluczu głównym, oczywiście zwraca go jako obiekt AR czyli Book, metody set*() ustawiają wartości pól, get*() pobierają, save() zapisuje aktualny stan obiektu do bazy. W tym przypadku save() wywołuje update, ale jak stworzysz obiekt Book i nadasz mu wartości i dasz save() to wtedy wykona insert. Co do pobierania wielu to masz metodę w BookPeer::doSelect( Criteria $c ), która zwraca array obiektów (choć lepiej było aby zwracało iterator, ale może w nowej wersji 1.3 to zmienili) Book, jak nie ma spełniających Criteria to zwraca pustą tablicę. Co do Criteria, czyli warunków to znów kopię dam:
co odpowiada
i taki obiekt $c przekazujesz do BookPeer::doSelect() i ono wybiera te rekordy co spełniają te kryteria. |
|
|
|
Gecco lista obiektow 25.05.2008, 16:11:29
webdicepl Tworzysz sobie metodę getLastNews która nie przyjm... 25.05.2008, 16:47:50
jarek_bolo No tylko, że w tym momencie burzy nam to zasa... 25.05.2008, 19:33:54
Sedziwoj @jarek_bolo
Jak ma pobrać ostatnie News, to ma to ... 26.05.2008, 09:21:20
jarek_bolo @Sedziwoj
Przecież jedna z możliwości jakie metoda... 26.05.2008, 14:35:11
Sedziwoj Zależności powinno się niwelować, ale tu mamy po p... 26.05.2008, 15:18:11
jarek_bolo No i gitara, zgadzam się w pełni z Twoją argumenta... 26.05.2008, 20:21:33
Gecco @Sedziwoj
moglbys przelozyc swoja wypowiedz na ja... 3.06.2008, 00:21:38
viking Albo poczytaj (i zastosuj) http://framework.zend.c... 3.06.2008, 19:59:10
Sedziwoj @viking
Tylko że Propel ma większe możliwości, bo ... 4.06.2008, 08:50:38 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 21:43 |