2016-08-15 128 views
-2

我想創建一個表單,用戶可以在其中編輯現有數據,但所有的值應該已經在Formfields中。 我知道如何與使用表單和數據庫中的前值更新數據

<input type="text" name="myValue" value="Existing Value"> 

做簡單的HTML,但我不能找出如何使用Doctrine做在Symfony的。

我已經創建了這樣的插入窗體。

class VideoContentUpdateType extends AbstractType  
public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('title')... and so on. 

爲了得到id我用一個控制器與正常的slu,,但我不知道從哪裏通過它。

* @Route("/giantcontent/video/edit/{slug}) 
*/ 
public function editVideoForm($slug) 
{ 

    $em =$this->getDoctrine()->getManager(); 
    $video= $em->getRepository("AppBundle:Video"); 

但我真的無言如何繼續下去。 我真的很感激任何幫助。

非常感謝。

EDIT1: 我試圖讀取從symfony的文檔: http://symfony.com/doc/current/form/form_collections.html 但是我不會變得更聰明瞭,感謝您的負擔。

回答

2

我知道我不應該發佈鏈接信息,並嘗試在這裏解釋它。但是你的問題非常廣泛,它將包含很多已經在官方的symfony文檔中編寫的代碼。請點擊這裏:https://symfony.com/doc/current/doctrine/registration_form.html

,更多的是形式:http://symfony.com/doc/current/form/form_collections.html

而且做什麼用的ID(從上面的鏈接):

$video = $em->getRepository('AppBundle:Video')->find($id); 

if (!$video) { 
    throw $this->createNotFoundException('No ;video found for id '.$id); 
} 

$editForm = $this->createForm($video); 
+0

非常感謝,媒體鏈接創造了很多的形式用symfony,這是比較容易的部分,我會媒體鏈接紅色渣滓的一部分,但我並沒有變得更聰明也許我累。我應該休息一下,明天再讀一遍。 – Kira

+2

symfony文檔非常好,它包含很多基本問題的答案。只需再次檢查它,你會發現所有的信息和例子 – omxv

0

我發現樹枝的幫助下簡單的解決方案,它可能不是最好的,也不是最完美的,但它實現起來簡單快捷。

{{ form_widget(form.title,{'value':videos.title }) }} 
{{ form_widget(form.link,{'value':videos.link }) }} 
{{ form_widget(form.album,{'value':videos.album }) }} 
相關問題