Moim zdaniem tworzysz błędne rozwiązanie prostego problemu.
Z jakiego powodu do linku wrzucasz:
- user
- startCity
- endCity
- cargo
- distance
- weight
- damage
- fuel
- fueled
- country
- score
- transportId
- screenshot
- startDate
- endDate
?
Cała masa gówna niepotrzebnego w linku.
Co nam mówi ten link?
Masz metodę o nazwie addAction() więc domyślam się, że chcesz dodać coś lub wszystko (bo nazwa kontrolera nie mówi mi nic o tym co chcesz dodać - co jest kiepską praktyką. Powinno się stosować nazwy metod i zmiennych, które mówią nam jak najwięcej o kodzie i jego funkcji):
Nie wiem dlaczego zaczynasz kontroler tej akcji od słowa "user" - to od razu daje sygnał, że "dla użytkownika" wykonaj akcję.
Reszta danych może być przesyłana za pomocą klas Request i Response:
Symfony\Component\HttpFoundation\Request
Symfony\Component\HttpFoundation\Response
I w zależności od potrzeby wykonać odpowiednie zapytanie ze strony frontu w postaci jakiegoś POSTa.
Poza tym warto byś zainteresował się RESTem:
Oraz HATEOAS (de facto fundament resta):
Ogólnie o REST możesz poczytać: http://restcookbook.com/
Odnośnie Twojego problemu, rozumiem, że setery, które masz w kontekście dat to jakieś obiekty DateTime()? Jeśli chcesz je odbierać z linka to są one traktowane jako tekst i musisz je po prostu przetworzyć na obiekt typu DateTime.
Nie powinieneś w tym miejscu też wpychać bazy danych i wykonywać na niej jakiś akcji - to zła praktyka. W tym kontrolerze mieszasz akcje - które powinny być atomowe i jasno mówić nam jakie jest ich zadanie (metody nie powinny mieć więcej niż 5 wierszy w kontrolerze), logikę dziedziny stosujesz w kontrolerach a nie w oddzielnym modelu, który powinien to wszystko samodzielnie obsługiwać - czyli tak naprawdę w przypadku symfony powinien istnieć osobny Bundle - lub raczej zupełnie odseparowany kawałek kodu od całego symfony, odpowiedzialny wyłącznie za dziedzinę - czyli za wszystko związane z tym transportem, w tym klasy walidacyjne i adaptery dla repozytoriów. Dodatkowo wkładasz tutaj kod infrastruktury, który nie powinien być mieszany z kodem kontrolera, a tym bardziej z kodem logiki dziedziny.
Gdy zwracasz za pomocą Response() to tak estetycznie raczej lepiej jest dać zwykłą okejkę niż pisać co się udało.
Chciałbym zwrócić uwagę, że nie widze w tym kodzie nawet wzmianki o tym, że gdzieś dokonujesz walidacji zmiennych otrzymywanych od użyszkodznika.