使用表单和数据库中的前值更新数据
问题描述:
我想创建一个表单,用户可以在其中编辑现有数据,但所有的值应该已经在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 但是我不会变得更聪明了,感谢您的负担。
答
我知道我不应该发布链接信息,并尝试在这里解释它。但是你的问题非常广泛,它将包含很多已经在官方的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);
答
我发现树枝的帮助下简单的解决方案,它可能不是最好的,也不是最完美的,但它实现起来简单快捷。
{{ form_widget(form.title,{'value':videos.title }) }}
{{ form_widget(form.link,{'value':videos.link }) }}
{{ form_widget(form.album,{'value':videos.album }) }}
非常感谢,媒体链接创造了很多的形式用symfony,这是比较容易的部分,我会媒体链接红色渣滓的一部分,但我并没有变得更聪明也许我累。我应该休息一下,明天再读一遍。 – Kira
symfony文档非常好,它包含很多基本问题的答案。只需再次检查它,你会发现所有的信息和例子 – omxv