twojastara
17.07.2015, 11:41:16
(sory za mieszankę słów angielskich i polskich, nie wiem jakie jest poprawne tłumaczenie)
W swojej aplikacji wyświetlam tabelę danych.
Mogę ją filtrować i sortować.
1. Filtrując przesyłam do kontrolera kilka zmiennych przez formularz do kontrolera. (np dataOd, dataDo)
2. W kontrolerze buduję zapytanie i razem z repozytorium przesyłam zmienną z całym zapytaniem do template.
(np. SELECT... WHERE z.datazlozenia BETWEEN 2015-04-13 AND 2015-05-01 )
3. Po kliknięciu zmiany sortowania przesyłam do kontrolera tę zmienną z całym zapytaniem w url i na podstawie tego zapytania robię nowe.
Jak to się robi poprawnie w poważnych projektach? Jak, po kliknięciu zmiany sortowania, przesyłać do kontrolera zmienną z informacją o tym jakie dane były wyświetlone?
prz3kus
17.07.2015, 11:47:08
Popatrz sobie np na taki pakiecik KnpPaginatorBundle
Crozin
17.07.2015, 11:48:29
Poważne projekty? Ciekawe określenie...
1. Parametry sortowania i filtrowania obsługujesz jak każdy inny formularz - robisz to dobrze.
2. Budowa zapytania czy ogólnie wykorzystanie Doctrine'a w kontrolerze jest błędem. Powinno to być robione w warstwie aplikacji odpowiedzialnej za obsługę logiki biznesowej. Serwis obsługujący to zadanie powinien udostępnić metodę przyjmującą parametry filtrowania/sortowania i zwrócić kolekcję obiektów do późniejszego wyświetlenia.
3. "Kliknięcie zmiany sortowania" powinno skutkować wysłaniem żądania dokładnie takiego samego jak w punkcie 1., ze zmienionym jednym parametrem, tj. właściwością względem której sortujemy.
twojastara
17.07.2015, 12:07:51
Cytat(Crozin @ 17.07.2015, 12:48:29 )

Powinno to być robione w warstwie aplikacji odpowiedzialnej za obsługę logiki biznesowej.
Można jaśniej? (tzn głupiej)
Forti
17.07.2015, 13:22:21
Cytat(twojastara @ 17.07.2015, 14:16:08 )

język polski jest słaby przy zmianach pogody.
?