Вы можете использовать форму событий, я чувствую, что эта страница может вам помочь: https://symfony.com/doc/4.4/form/dynamic_form_modification.html
Что-то в этом роде:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
$test = $event->getData();
$form = $event->getForm();
if (your condition) {
$form->add('assetClass',ChoiceType::class, array(
'placeholder' => 'Select asset class',
'choices' => array(
'a' => '1',
'b' => '2',
'c' => '3'
)))
}
}
$builder
->add('code')
->add('name')
->add('note',TextareaType::class,array('required' => false))
->add('route', HiddenType::class);
}
Я думаю, вы может тогда l oop бросил поля формы в веточку, чтобы отобразить их, но я пока не рассчитывал эту часть, работая над ней