【发布时间】:2018-08-29 08:56:20
【问题描述】:
我正在使用 Symfony
您会在我的 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 个可能性,第一个我修改了默认选项以允许一个额外的选项,但这有点恶心。第二,我可以使用会话参数并在构造函数中注入会话服务......但它看起来更像是一种解决方法而不是正确的方法......
您知道从 FormType 中的 buildForm 函数向表单注入参数的优雅方法吗?
最好的问候
【问题讨论】:
标签: php symfony symfony-forms