Я использую Symfony <4, и у меня есть проблема с формой, использующей другую форму в отношении «Многие ко многим» с параметром. </p>
Вы найдете ниже моей FeatureForm:
->add('tags',CollectionType::class,
array(
'entry_type' =>TagFeatureType::class,
'allow_add' => true,
'allow_delete' => true,
'data' => $datas,
'entry_options' => array(
'label' => false,
)
)
)
Теперь мой TagFeatureType:
->add('tag', EntityType::class,
array(
'choice_label' => 'name',
'class' => 'AppBundle:Tag',
'query_builder' => function(TagRepository $tr){
return $tr->findObjectNotMine();
}
)
)
Я хотел бы добавить параметр в findOBjectNotMine, но не могу передать параметр из контроллера, поскольку TagFeatureType создан FeatureForm. Внутри функции buildForm я не могу передать дополнительный параметр.
Я вижу 2 варианта, во-первых, я изменяю параметры по умолчанию, чтобы разрешить дополнительный параметр, но это немного отвратительно. Во-вторых, я мог бы использовать параметр сеанса и внедрить сервис сеанса внутри конструктора ... Но это выглядит скорее как обходной путь, чем как правильный путь ...
Знаете ли вы элегантный способ вставить параметр в форму из функции buildForm внутри FormType?
С наилучшими пожеланиями