Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Doctrine] Select i zwracanie własnych obiektów
snapshot
post 11.11.2009, 01:26:48
Post #1





Grupa: Zarejestrowani
Postów: 96
Pomógł: 6
Dołączył: 22.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Czy istnieje możliwość zwracania w doctrine z Doctrine_Query jakiegoś własnego obiektu zamiast Doctrine_Collection? Mam tabele filmy i wyciągam z niej filmy. Jednak w kodzie chciałbym aby po wyciągnięciu od razu dane były dostępne w obiektach typu Video. Oczywiście mogę sobie te dane po wyciągnięciu z Doctrine_Collection pętlą przełożyć na kolekcję Video, ale takich zapytań z tą tabelą będę miał ogrom i chciałbym to jakoś zautomatyzować. 


--------------------
ZF developer
Go to the top of the page
+Quote Post
cojack
post 11.11.2009, 09:41:26
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Imo nie da rady. Instancja to instancja, nie przeskoczysz tego.


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
destroyerr
post 11.11.2009, 10:49:16
Post #3





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Szczerze mówiąc nie do końca wiem o co Ci chodzi. Nie wiem w jakiej relacji jest tabela filmy i klasa Video. Podejrzewam, że to to samo. Jeśli tak to co Ci przeszkadza Doctrine_Collection i co tak naprawdę chciałbyś uzyskać? Przecież w tej kolekcji masz od razu obiekty Video.

Od wersji 1.2 można zmienić klasę zapytania i klasę kolekcji.

Go to the top of the page
+Quote Post
snapshot
post 11.11.2009, 13:55:18
Post #4





Grupa: Zarejestrowani
Postów: 96
Pomógł: 6
Dołączył: 22.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Chciałbym aby dane wyciągnięte z tabeli filmy były od razu dostępne jako kolekcja obiektów Video, które mają potrzebne metody i mam przygotowaną już obsługę w widokach i innych (ZF) dla tego typu klasy. Z tego co udało mi się znaleźć to potrzebne mi będzie albo własna klasa kolekcji (Custom Collection Class) chociaż tak na prawdę kolekcja może zostać nie zmienna, ważne aby wiersz był reprezentowany przez obiekt Video, co wydaje mi się mogę osiągnąć poprzez Hydrators. Z tego co widzę to niestety będę musiał przejść na wersję 1.2, która jest jeszcze w beta.


--------------------
ZF developer
Go to the top of the page
+Quote Post
destroyerr
post 11.11.2009, 22:34:06
Post #5





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Chciałbym Ci pomóc, jednak jeśli nie wiem nic o tabeli filmy i klasie Video (jaka jest między nimi relacja) to nie jestem w stanie Ci pomóc.
Go to the top of the page
+Quote Post
cojack
post 12.11.2009, 10:58:19
Post #6





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


destroyerr ale jemu chodzi o instancje obiektów a nie o to jak pobierać dane z tabeli. Pobiera dane z tabeli i obiekt zwracany przez doctrine jest instancji Data_Collection i jest to jak najbardziej słuszne, nie wiem po jaką cholerę zmieniać instancję klasy, lub nadawać jej nową. Jest to jest amen. Jak masz wywołanie modelu przez Doctrine::getTable('Nazwa_modelu'); to na czorta Ci sprawdzać instancje klasy? Sztuka dla sztuki to idź się pobaw w piaskownicy i zbuduj wieże Aifla w skali 1:1 z odwzorowaniem wszystkich szczegółów.


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
snapshot
post 12.11.2009, 14:08:53
Post #7





Grupa: Zarejestrowani
Postów: 96
Pomógł: 6
Dołączył: 22.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Potrzeba jest na pewno, bo w wersji 1.2 wprowadzono Custom Collection Class czy właśnie hydrators, które częściowo są moim rozwiązaniem problemu. Udało mi się wyciągnąć z bazy bezpośrednio przy użyciu Doctrine_Collection obiekty Video, które tworzę właśnie w hydrators. Jeden problem to taki, że potem nie mogę korzystać z lazy loading, ale w sumie to jest to o co mi chodziło. Proszę następnym razem powstrzymać się od złośliwych komentarzy, jeśli nie potrafi się pomóc i nie rozumie się do końca problemu wynikającego z potrzeby pytającego.


--------------------
ZF developer
Go to the top of the page
+Quote Post
cojack
post 12.11.2009, 14:58:21
Post #8





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Ja widzę potrzebę i już Ci tłumacze to jest wyuzdany idealizmy programisty. Amen.


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
destroyerr
post 12.11.2009, 17:01:33
Post #9





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Cytat
Proszę następnym razem powstrzymać się od złośliwych komentarzy, jeśli nie potrafi się pomóc i nie rozumie się do końca problemu wynikającego z potrzeby pytającego.

Widzisz żeby ktoś zrozumiał Twój problem poza Tobą? Nie potrafisz opisać problemu, to my nie mamy jak Tobie pomóc, możemy próbować dopasować rozwiązanie to wszystko. Jeśli się mylę i ktoś zrozumiał, to proszę o wytłumaczenie mi jeszcze raz.
Jedyne co wiemy to to, że masz tabele filmy i chcesz pobrać obiekty Video. Nie znamy związku pomiędzy tabelą filmy a obiektem Video.
Go to the top of the page
+Quote Post
snapshot
post 12.11.2009, 18:27:17
Post #10





Grupa: Zarejestrowani
Postów: 96
Pomógł: 6
Dołączył: 22.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Nie chodzi mi o obiekt Video dziedziczący po BaseVideo i Doctrine_Record, tylko o własny obiekt np: Snapshot_Video. Związek jest taki, że chcę wsadzić dane z bazy do obiektów setterami, a potem sobie z tym obiektem, który ma potrzebne metody (implementowane z interface) operować i przekazywać do widoków i innych metod, które potrafią obsłużyć ten obiekt. Jak pisałem już 2 razy moim rozwiązaniem jest hydrator z wersji 1.2, więc jeśli dalej nie rozumiesz mojego problemu to może doc hydratora ci pomoże.


--------------------
ZF developer
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.04.2024 - 02:16