使用Symfony2的表单生成器最好的方法是什么,用户可以输入2个数字,从第一个数字到最后一个数字。例如,用户想要输入机架编号2到5,而控制器必须输入数据库机架编号2、3、4和5。如果输入5-9,则数据库输入5、6、7、8、9,依此类推。
然而,数据库只有一列'Rack‘,所以我不知道在标识每个字段时使用哪个名称……
会是这样的吗?
$builder
->add('rackno', 'integer', array(
'label' => 'Rack: '
)) // first rack #
->add('rackno', 'integer', array(
'label' => 'To: '
)) // last rack #
->add('Submit', 'submit');发布于 2014-05-13 17:56:58
你可以添加
'mapped' => false 并将表单中两个字段的名称分别设置为rackno_from和rackno_to,这样它们的值就不会分配给$object->rackno字段
然后,在提交表单后,您可以随心所欲地处理这些值,并在对象保存后执行所需的插入操作。所以你会有:
$builder
->add('rackno_from', 'integer', array(
'label' => 'Rack: ',
'mapped' => false
)) // first rack #
->add('rackno_to', 'integer', array(
'label' => 'To: ',
'mapped' => false
)) // last rack #
->add('Submit', 'submit');然后在您提交表单之后
if($form->isValid())
{
// get the rackno_from and rackno_to from form and do what you need with those values
}https://stackoverflow.com/questions/23620098
复制相似问题