Значение параметра Symfony2.3 и innerHTML поля выбора из запроса

Из запроса я пытаюсь персонализировать поле выбора.

вот как я получаю содержимое выбора:

    $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">Espumante Chandon Brut Nature</option>
</optgroup>

Я хочу, чтобы поле выбора имело значение, равное id, и innerHTML, равное nombre, например:

<option value=93>Bucket</option>

0

Решение

Я держал тот же запрос

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

но перед созданием моего конструктора форм я инициализирую массив, извлекаю id и nombre из «$ productos» и загружаю их в $ 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>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector