如何使用数据库中的数据预填充symfony中的文本字段。我在主机表中有一个名为hostFee的字段,当我创建表单时,我希望该数据预先填充此文本字段。
我正在为新的BookingSpecsType()...
创建一个表单这是我的表单构建器元素。
$builder->add('hostFee', 'text', array(
'required'=>false,
'error_bubbling'=>true,
'label'=>'Do you charge a hosting fee?',
'data' => '??????? (How do I fill this text field dynamically with the Host table hostFee column data) ?????',
'attr'=>array(
'placeholder'=>'If yes, enter dollar amount $0.00',
'class'=>'form-control'
)
));
感谢。
答案 0 :(得分:2)
documentation提供了很多例子。
在Controller操作中使用$this->createForm
时,第二个参数允许您使用对象水合表单。
例如:
public function editAction()
{
$user = $this->getDoctrine()->getRepository('User')->find(1); // YOUR OBJECT RETRIEVED FROM THE DB FOR EXAMPLE
$form = $this->createForm(new EditType(), $user, array(
'action' => $this->generateUrl('account_edit'),
));
return $this->render(
'AcmeAccountBundle:Account:edit.html.twig',
array('form' => $form->createView())
);
}
答案 1 :(得分:1)
您无需手动定义数据。如果您只是从水合实体初始化表单,那么所有数据都会初始化到所有字段中。