Rey*_*eon 3 database forms symfony doctrine-orm
是否可以使用数据转换器将表单中的 (n) 个字段合并为一个可持久化的字段?如果可能,该怎么做?菜谱仅给出了将一段数据转换为另一种类型的示例,但我需要能够将 N 个字段转储为一个字段以进行持久化。因此,如果我在表单中显示 6 个字段,则 DB 表中只有 3 个是真实字段,第一个和第二个字段将按原样保留,但其余 4 个字段将存储在第三个表列中。
你应该通过 FormEvent::POST_SUBMIT事件。
http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html
基本上,是这样的:
$builder->addEventListener(FormEvents::POST_SUBMIT, function(FormEvent $event) {
$form = $event->getForm();
// entity or array
$data = $event->getData();
// get data directly from form
$concatData = $form->get('non_mapped_field1_1')->getData() . ',' . $form->get('non_mapped_field1_2')->getData();
// assumig that data is entity class
$data->setSomeField($concatData);
}
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2089 次 |
| 最近记录: |