Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][Doctrine2] Gdzie umieścić funkcję pobierającą dzieci rekordu?
Forum PHP.pl > Forum > PHP > Frameworki
pamil
Hej!

Załóżmy, że mam rekursywną listę kategorii. Czyli Entity z polami id, name, parent wskazujący na rekord-rodzica oraz polem X gdzie przechowuje wartość boolean. Chcę mieć funkcję pobierającą dzieci danej kategorii które zdają test "X == true" - wystarczy do pierwszego poziomu zagnieżdżenia. Teraz, mam (chyba) dwie możliwości:
  • Zrobić to w CategoryRepository - napisać metodę findTrueChildrenById($parentId) (to potrafię zrobić)
  • Zrobić to w Entity\Category - napisać metodę getTrueChildren() (nie do końca wiem jak, moglibyście mnie pokierować jakimś przykładem [najlepiej trochę kodu])


Poza wyjaśnieniem tego drugiego sposobu, prosiłbym o wasze opinie - który wybór jest według was lepszy? Dlaczego? Ja osobiście optowałbym za drugą opcją, tylko nie wiem jak ją do końca zrobić.
Crozin
Raczej powinieneś to ulokować w repozytorium. To nie jest już bezpośrednia relacja pomiędzy obiektami.

PS. findTrueChildrenByParent(Object $object), a nie jakieś ID.
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.