【问题标题】:How to preselect the radiobutton when 'data' is entity当“数据”是实体时如何预选单选按钮
【发布时间】:2014-02-24 09:54:04
【问题描述】:

通常,form 会显示选择代码, 我有两个具有多对一关系的表。

例如

主表

ID | name |job
1  | Mr.A |1
2  | Mr.D |1
3  | Mr.C |3

工作表

ID | name    
1  | doctor
2  | engineer
3  | teacher

然后,我正在制作输入Maintable的表格,通常 symfony 使用选择框进行这种选择,但我使用这样的单选按钮。

$form = $this->createFormBuilder($mainTable)
->add('job','entity',array(
        'class' => 'AcmeTopBundle:jobTable','expanded' => true))

那我想预选一个按钮。

在那里我找到了提示。

How to pre-select a form radio item with Symfony 2?

它说要使用

'数据' => 1

但我的选择是 jobTable 实体。

如何放置作业表实体?

'数据' => ???

【问题讨论】:

    标签: symfony entity


    【解决方案1】:

    您必须将实体记录本身作为数据传递。所以,从控制器:

    $em = $this->getDoctrine()->getEntityManager();
    
    // If you want to preselect record with ID #1
    $preselectedData = $em->getReference('AcmeTopBundle:jobTable', 1);
    
    $form = $this->createFormBuilder($mainTable)
                 ->add(
                     'job','entity',array(
                        'class' => 'AcmeTopBundle:jobTable','expanded' => true,
                        'data' => $preselectedData
                     )
                 )
                 // ...
            ;
    

    【讨论】:

      【解决方案2】:

      entity/value object 中设置默认值更容易。表单组件会处理它们并预先选择它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-18
        • 2018-06-11
        • 2018-10-24
        • 2013-08-07
        • 2015-07-03
        • 2014-04-09
        • 1970-01-01
        相关资源
        最近更新 更多