Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SF2][Doctrine] Przeciążanie metody pobierania elementów relacji
Forum PHP.pl > Forum > PHP > Frameworki
macq
Witam serdecznie,

Przekopałem dokumentację Symfony2, Doctrine i albo tam nie ma odpowiedzi na moje pytanie albo gdzieś ją przeoczyłem... ;/

Czy wiecie może, czy jest sposób na przeciążanie pobierania elementów połączonych relacją w Doctrine? Nie wiem czy to co pisze jest wystarczająco zrozumiałem także może posłużę się przykładem:

Mam dwa Entity: Article, Comment

Article z Comment połączone jest relacją OneToMany i gdy pobieram komentarze do artykułu

$Article->getComments();

zostają mi zwrócone wszystkie komentarze, posortowane domyślnie po id. Ja jednak chciałbym aby podczas pobierania tej kolekcji Doctrine zamiast sortować po id sortował po dacie dodania komentarza. Czy ktoś z was wie czy coś takiego jest w ogóle możliwe?

Brałem pod uwagę też rozwiązanie polegające na manualnym sortowaniu tej kolekcji w metodzie Article::getComments, ale nie jest to zbyt wydajne i eleganckie rozwiązanie.


Z góry bardzo dziękuję za wszelką pomoc,
Maciek
ohm
Może przez repository? Jako osobna Twoja metoda, albo przez findBy(array('articleId' => $articleId), array('data' => 'desc',...);
macq
Problem rozwiązany! wink.gif

Wiedziałem, że się da biggrin.gif Nie zwróciłem uwagi na zapis w dokumentacji Doctrine'a:

http://docs.doctrine-project.org/projects/...#annref-orderby

Dzięki za odpowiedź wink.gif

Pozdrawiam.
ano
Zainteresuj się tym stosunkowo nowym mechanizmem:
http://docs.doctrine-project.org/en/latest...ing-collections

Stosujesz go np. w swojej metodzie Article::getComments().
macq
Dzięki ano, na pewno wypróbuję kiedyś ten mechanizm, ale tymczasem annotacja @OrderBy wystarcza!

Pozdrawiam,
Maciek
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.