![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 17.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich!
Mam taki oto problem. Chciałbym napisać proste forum internetowe. Pomyślałem sobie, że dobrym pomysłem będzie zastosowanie wzorca ActiveRecord i reprezentowanie w ten sposób wątków i odpowiedzi na forum. Wszystko ładnie działa, a raczej miałem wrażenie, że działa ładnie, dopóki kolega nie wykazał mi dosyć poważnego błędu w moim dotychczasowym rozumowaniu. Otóż obiekt klasy reprezentujący wątek na forum w momencie konstruowania ładuje wszystkie swoje właściwości z rekordu bazy danych. (Oczywiście poza leniwie konkretyzującą się kolekcją odpowiedzi). Wygląda jednak dosyć niekorzystnie, gdy np chcę wyświetlić samą tylko listę wątków i nie potrzebuję ładować treści. Jak sobie z tym najlepiej poradzić? Podejrzewam, że ktoś z Was podpowie mi pewnie, żebym skorzystał z jakiegoś gotowego frameworka typu ORM. Wydaje mi się jednak, że to będzie trochę na wyrost. W końcu logika takiego forum nie jest zbyt złożona. Zależy mi na tym, żeby w jakiś elegancki sposób sprawić, żeby obiekt reprezentujący wątek ładował z bazy danych tylko te cechy, które faktycznie będą mi potrzebne w danym wywołaniu programu, jednocześnie nie angażując w to bardzo złożonych klas, czy też całych frameworków. Bedę wdzięczny za wszelkie podpowiedzi. Z góry dziękuję za pomoc i pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 0 Dołączył: 29.11.2005 Skąd: :jestem(); Ostrzeżenie: (0%) ![]() ![]() |
Jeśli dobrze cię rozumiem to to powinna być odpowiedź na twoje pytanie - jeśli chcesz wyświetlić listę TEMATÓW nie pobierasz dla każdego tematu oddzielnie rekordu z bazy, tylko jednym zapytaniem pobierz wszystkie.W pętli każdy rekord już jako tablicę przekaż jako paramert do konstruktora obiektu TEMAT . A obiekt który będze pobierał wszystkie rekordy i z każdego rekordu robił obiekt TEMAT nazwijmy kolekcją TEMATÓW z możliwoscią iterowania po obiektach kolekcji. Czy o to chodziło ?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 15:45 |