Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 20.07.2007 Ostrzeżenie: (0%)
|
Witam.
Mam model kategorii:
oraz modele newsów i galerii z odpowiednio ustawionym $_belongs_to. Wszystko działa ok. Pytanie brzmi, czy można w jakiś sprytny sposób, za pomocą ORMa z modelu kategorii jednocześnie pobrać dane z tabeli newsów i galerii? edit: Poradziłem sobie generując zwykłą unię między tabelami. Niemniej nadal zastanawia mnie czy można to rozwiązać korzystając z ORM... Ten post edytował Kedan 28.03.2011, 17:15:45 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
@lukaskolista:
Czy with() w K3 na pewno działa tak jak piszesz? W K2 działało tylko "w drugą stronę" tj. dołączało rekordy poprzez JOIN. Można było np. dołączyć województwo do miasta, natomiast pobranie listy województw, a następnie miast do nich nie współpracowało z with(). Należało robić to w pętli generując przy tym N+1 zapytań. Pytam z ciekawości bo K3 nie używałem, a jeśli jest jak piszesz (czyli w teorii powinno wygenerować 3 zapytania) to jest to dość ciekawy ficzer. PS: W K2 powyższy kod (po wywaleniu with()) utworzy 2*N+1 zapytań - troszkę dużo (IMG:style_emoticons/default/wink.gif) Ten post edytował phpion 30.03.2011, 07:57:49 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%)
|
jestem w 100% pewny, w ko3 ORM tak wlasnie dziala
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 20.07.2007 Ostrzeżenie: (0%)
|
Rzeczywiście działa. Sęk w tym, że newsy i galerie nadal pobierane są osobno, więc gdybym chciał je "przemieszać" i posortować np po dacie utworzenia, muszę to zrobić w php. Tworząc unię załatwiam wszystko jednym zapytaniem sql.
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%)
|
ORM poza ulatwieniami ma sporo ograniczen, zaawansowane zapytania SQL tworzy sie przez query builder lub w czystym SQL
|
|
|
|
![]() ![]() |
|
Aktualny czas: 27.12.2025 - 03:14 |