http://symfony.com/doc/current/best_practices/index.html
Polecam Ci ten artykuł. Dowiesz się wiele mądrych rzeczy .
Problem Twój wynika też poniekąd z tego, że masz straszny bałagan w kodzie.
$form = $this->createFormBuilder()
->setMethod('GET')
->add('pracownik', ChoiceType::class,ar//........
To można skrócić. Zrób klasę reprezentującą ten formularz i tworzenie go załatwisz jedną linijką.
$em = $this->getDoctrine()->getManager();
$query = $em->createQuery(
"SELECT prz.liczGodzLabJedn,
prz.liczGodzCwJedn,
prz.liczGodzWykJedn,//.......
Po to encje Doctrine mają klasy repozytoriów, żeby nie czytać takich wierszyków w kontrolerze.
Co do Twojego problemu:
http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/converters.html
Dzięki temu kontroler będzie Ci konwertować parametry z get'a na encje które Cię interesują. Potem wykorzystując je możesz ewentualnie się odwołać do repo encji (lub innego) po więcej danych z bazy.