2016-08-15 124 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 }) }}