Symfony 4 - funkcja aktualizująca statystyki.

0

Cześć.
Do poniższego kontrolera w Symfony 4 chciałbym dodać funkcję, która dodawałaby +1 do kolumny kliknięć w tabeli ze statystykami w bazie danych (1 redirect adresu to +1 do statystyk kliknięć tego linku). Jak według Was prawidłowopowinienem to dodać?

  1. Dodanie bezpośrednio do tej funkcji kolejnego repo (StatisticsRepository) i po prostu dodanie jednego kliknięcia do
    wartości? Tylko na uwadze trzeba mieć to, że to jest podstawowa wersja statystyk - docelowo będą jeszcze śledzone inne wartości jak lokalizacja z jakiej user kliknął w skrócony link itd., więc trochę to się z czasem powiększy o różne wartości.

  2. Powierzyć obsługę aktualizacji statystyki po kliknięciu do nowego serwisu i do tego kontrolera ze zdjęcia dodać tylko potem wstrzyknięty serwis i wywołać z niego funkcję, która dokona aktualizacji?

  3. Jeszcze jakoś inaczej? Wywołanie funkcji z POST w innym kontrolerze, która by aktualizowała te statystyki? Czytałem, że jest np. metoda forward(), ale chyba wtedy nie zadziała mi redirect, który jest najważniejszy. Prosto byłoby dodać ajaxem wywołanie funkcji POST, ale ktoś wyłączy js i nie zadziała.

Druga opcja wydaje mi się dobra. W ten sposób będzie okej wykorzystać serwis?

0

Jak robisz jakąkolwiek zmianę w logice biznesowej to robisz to w serwisie, a kod sqlki trzymasz albo w custom repository albo od biedy w tym serwisie. Serwis bierzesz poprzez autowire czyli normalnie bierzesz go jako argument akcji albo (jeśli macie autowire wyłączony) wstrzykujesz w services.yml do kontrolera, w ostateczności bierzesz z kontenera.

1 użytkowników online, w tym zalogowanych: 0, gości: 1