[英]Howto show filled form with existing data on symfony2
我正在嘗試使用數據庫中的現有數據來呈現symfony2填充的表單。 我想要的是更新數據。 為此,我想在表單上顯示當前數據。
目前,我正在獲取數據並填寫表格,但是我認為這不是最好的方法。
<form>
{% for value in values %}
<input type="text" placeholder="{{ value.name }}">
<input type="email" placeholder="{{ value.email }}">
...
{% endfor %}
</form>
我知道如何使用createFormBuilder和AbstractTypes創建表單,但是不知道如何顯示或呈現填充有來自實體的現有數據的表單。
您為什么要手工構建表格? 您只能使用{{ form(form) }}
。 這就是每個人都問您在哪里創建它的原因,因為它與填充它的位置相同。 從表單手冊中:
public function newAction(Request $request)
{
// you can use a new instance of an entity or
// get existing data from your database
// e.g. $task = $em->getRepository('Bundle:Task')->find(1);
// and this data will fill your form.
$task = new Task();
$task->setTask('Write a blog post');
$task->setDueDate(new \DateTime('tomorrow'));
$form = $this->createFormBuilder($task)
->add('task', 'text')
->add('dueDate', 'date')
->add('save', 'submit')
->getForm();
return $this->render('AcmeTaskBundle:Default:new.html.twig', array(
'form' => $form->createView(),
));
}
看到對createFormBuilder
的調用嗎? 那就是您在表格中輸入數據的地方。 傳遞的對象/數組中的數據將用作表單的填充數據。 現在,由您提供所需的數據,無論是數據庫中的實體還是包含任意數據的數組。 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.