2012-10-02 11 views
5

Dane są pobierane ze związku wiele-do-wielu i chcę zdefiniować metodę niestandardową. Czy jest możliwe (i jak) użyć czegoś takiego:Definiowanie niestandardowej metody w Doctrine ORM PersistentCollection

$hotel = $entityManager->getRepository('Hotels')->findOneById(1); 
$types = $hotel->getTypes(); //$types is instance of **Doctrine\ORM\PersistentCollection** 
$types->myCustomFunction(); //do something 
+0

Nie chcę używać repozytorium, ponieważ muszę pracować tylko z wieloma relacjami. Chcę utworzyć coś takiego jak '$ hotel-> getTypes() -> fetchPairs()' – user1518183

+0

przepraszam, błędnie przeczytałem pytanie, możesz sprawdzić http://stackoverflow.com/questions/3691943/custom-collection-in -doctrine2 choć – max

+0

Dziękuję, spróbowałem, ale to nie rozwiązuje mojego problemu. Muszę wywołać metodę niestandardową na obiekcie, który jest instancją Doctrine \ ORM \ PersistentCollection (którą mam, gdy przechodzę od wielu do wielu relacji). – user1518183

Odpowiedz

0

Wygląda na to, że nie jest już zaimplementowany.

Zobacz tę doktrynę za JIRA problem: http://www.doctrine-project.org/jira/browse/DDC-547

Rozważmy umożliwiając niestandardowe implementacje PersistentCollection

Powinniśmy rozważyć możliwość konfiguracji implementacji niestandardowych PersistentCollection na zasadzie per-stowarzyszenia. Umożliwia to użytkownikom tworzenie zoptymalizowanego (SQL) zachowania dla niektórych swoich kolekcji w celu poprawy wydajności bez zmiany kodu modelu domeny.

W tym celu PersistentCollection musi być zaprojektowany do dziedziczenia.

+0

Ulepsz swoją odpowiedź .. – 5ervant

Powiązane problemy