【问题标题】:Symfony2.3 setting value and innerHTML of a choicefield from a querySymfony2.3 设置查询中选择字段的值和 innerHTML
【发布时间】:2018-07-25 15:41:51
【问题描述】:

我正在尝试通过查询个性化选择字段。

这就是我获取选择内容的方式:

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

表格应如下所示:

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

使用变量 $productos 我构建了一个表单:

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

这种形式的结果是:

<optgroup label="0">
   <option value="id">93</option>
   <option value="nombre">Bucket</option>
</optgroup>

我希望选择字段的值等于 id,innerHTML 等于 nombre,如下所示:

<option value=93>Bucket</option>

【问题讨论】:

标签: php mysql symfony choicefield


【解决方案1】:

我保留了相同的查询

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

但在创建表单构建器之前,我初始化了一个数组,从 "$productos" 中提取 id 和 nombre 并将它们加载到 $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();

现在我的选项看起来像这样

<option value=93>Bucket</option>

【讨论】:

    猜你喜欢
    • 2011-01-27
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    相关资源
    最近更新 更多