Symfony-将变量传递到表单->添加到getter
是否可以通过表单->添加'field','collection',将变量传递给实体中的getter entity.phpSymfony-将变量传递到表单->添加到getter,symfony,doctrine,Symfony,Doctrine,是否可以通过表单->添加'field','collection',将变量传递给实体中的getter entity.php public function getFilteredFields($var) { //......Do stuff } formtype.php ->add('filteredFields', 'collection', array( 'type' => new FieldTextType(), ) 你可以通
public function getFilteredFields($var) {
//......Do stuff
}
formtype.php
->add('filteredFields', 'collection', array(
'type' => new FieldTextType(),
)
你可以通过电脑来完成
为FormEvents::PRE_SET_数据创建订阅服务器/eventListener并手动填充有效数据。您可以将订阅服务器注册为服务并注入所需的依赖项
模板建筑示例:
$builder->addEventListener(
\Symfony\Component\Form\FormEvents::PRE_SET_DATA,
function (\Symfony\Component\Form\FormEvent $event) {
$form = $event->getForm();
/* @var $form \Symfony\Component\Form\Form */
$data = $event->getData();
/* @var $data myEntity */
$filteredFields = $data->getFilteredFields();
// get data for $somePopulatedValue
$form->add(
'filteredFields',
'collection',
[
'options' => ['choices' => '...'],
]
);
}
);
这样做的目的是什么?我正在尝试筛选集合,以便它只返回集合中选定的组,而不是该集合中的所有记录。啊哈,我认为这是不可能的。或者,您可以使用应用的筛选器获取1:N,然后将数据提交到表单…您知道是否有方法筛选集合吗?