使用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');
答案 0 :(得分:0)
你可以添加
'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
}