在Symfony2中预先选择具有就绪实体的表单

压力

想要在Symfony中预先选择我的表格。我使用“表单”构建器完成此操作。它起作用,除了子表未保存。

我的发票类型

    public function buildForm(FormBuilderInterface $builder, array $options) {

    $builder
            ->add('invoiceNumber', 'hidden', array('label' => ''))
            ->add('date', 'date', array('label' => 'Field', 'data' => new \DateTime("now")))
            ->add('PaidPrice', 'money', array('label' => 'Bereits bezahlt', 'attr' => array('class' => '')))
            ->add('invoicepos', 'collection', array(
                    'type' => new InvoiceposType(),
                    'allow_add'    => true,
                    'allow_delete' => true,
                    'cascade_validation' => true,
                    'by_reference' => true,
                ))
    ;
}

我的发票类型

    public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('pos', 'text', array('label' => '', 'attr' => array()))
        ->add('quantity', 'hidden')
        ->add('price', 'hidden')
        ->add('tax', 'hidden')
    ;
}

我的控制器启动表格

public function newAction($id) {
    $em->persist($entInvoice);
    //$em->flush($entInvoice); //works perfect, but i dont want to save that, just pre select for the form
    $form = $this->createCreateForm($entInvoice);
    return array(
        'entity' => $entInvoice,
        'form' => $form->createView(),
    );
}

我提交表格时的代码

public function createAction(Request $request) {
    $entity = new Invoice();
    $form = $this->createCreateForm($entity);
    $form->handleRequest($request);

    if ($form->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($entity);
        $em->flush();

        return $this->redirect($this->generateUrl('pspiess_letsplay_invoice_show', array('id' => $entity->getId())));
    }

    return array(
        'entity' => $entity,
        'form' => $form->createView(),
    );
}

数据在那里,但是没有关系!

我怎么了 感谢帮助。

压力

为我的问题找到了解决方案。在刷新之前,我先添加子实体...

foreach ($entity->getInvoicepos() as $entInvoice) {
  $entity->addInvoicepos($entInvoice);

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Symfony2中创建具有一个实体的多行的表单

如何使用 symfony 表单预先选择下拉列表的选项

Symfony2:具有空值的实体表单字段

Symfony2形式的实体字段,具有多个,选择集设置后不保留数据

带有多个实体的 Symfony2 表单提交缓慢

无法将现有实体映射到symfony2中的嵌入式表单

Symfony2,YML文件,实体和表单中的验证

具有实体类的Symfony2 FormBuilder

在Django中,预先选择表单选项标签的正确方法是什么?

更新在Symfony2(文档)中具有文件字段的实体

如果输入具有预先选择的值,则jQuery mouseleave将触发事件

Symfony2表单:创建新的或选择现有的

对于使用Roo创建的项目,更新表单上的“选择”字段不会预先选择现有值

验证Symfony2实体选择字段

选择彼此依赖,并在剔除中预先选择的值

选择框值未在angularjs中预先选择的问题

使用 javascript 在 html 中预先选择的选择选项

Laravel中的表单模型绑定未从下拉列表中的数据库中预先选择正确的选项

Jumio的NetverifySDK没有预先选择提供的国家/地区

Symfony - 具有多个实体对象的表单

如何使用“ Select2”预先选择值

预先选择在角9和角材料在树中的项目

Django:无法在 POST 时从选项菜单中预先选择

预先选择动态DT中闪亮的行

从实体选择Symfony 2表单属性

Symfony从表单类型的实体中创建选择

Symfony2 Forms:设置没有实体的表单名称

如何在创建/更新Symfony2表单中管理链接的实体

在Symfony2中提交表单后填充第二个实体