dongwen3437 2018-07-25 15:41
浏览 29
已采纳

Symfony2.3来自查询的选择字段的设置值和innerHTML

From a query I'm trying to personalize the choice field.

this is how I get the content of the select:

    $em = $this->getDoctrine()->getManager();
    $query2 = $em->createQuery("SELECT p.id,p.nombre FROM Exppromociones p");
    $productos = $query2->getArrayResult();

The table should look like this:

{"id":93,"nombre":"Bucket"},
{"id":152,"nombre":"Spoon"},
{"id":142,"nombre":"Fork"}

With the variable $productos I build a form:

   $form = $this->createFormBuilder()
        ->add('productos', 'choice', array('label' => 'Productos',
            'required' => true,
            'choices' => $productos,
        ))
        ->getForm();

And that form results to:

<optgroup label="0">
   <option value="id">93</option>
   <option value="nombre">Espumante Chandon Brut Nature</option>
</optgroup>

I want the choices field to have the value equal to the id and the innerHTML equal to nombre, like this:

<option value=93>Bucket</option>
  • 写回答

1条回答 默认 最新

  • dongzanghua8422 2018-07-25 21:31
    关注

    I kept the same query

        $em = $this->getDoctrine()->getManager();
        $query2 = $em->createQuery("SELECT p.id,p.nombre FROM Exppromociones p");
        $productos = $query2->getArrayResult();
    

    but before creating my form builder I initialize an array, extract the id and nombre from "$productos" and load them into $choices

            $choices=array();
            foreach ($categorias as $cat){
                $id=$cat['id'];
                $nombre=$cat['nombre'];
                $choices[$id] = $nombre;
            }
            $form = $this->createFormBuilder()
            ->add('categoria', 'choice', array('label' => 'Categoria',
                'required' => true,
                'choices' => $choices, 
            ))
            ->getForm();
    

    Now my options look like this

    <option value=93>Bucket</option>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加