查询中选择字段的 Symfony2.3 设置值和 innerHTML
Symfony2.3 setting value and innerHTML of a choicefield from a query
根据查询,我正在尝试个性化选择字段。
这就是我获取 select 内容的方式:
$em = $this->getDoctrine()->getManager();
$query2 = $em->createQuery("SELECT p.id,p.nombre FROM Exppromociones p");
$productos = $query2->getArrayResult();
table 应该是这样的:
{"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>
我希望 choices 字段的值等于 id,innerHTML 等于 nombre,如下所示:
<option value=93>Bucket</option>
我保留了相同的查询
$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>
根据查询,我正在尝试个性化选择字段。
这就是我获取 select 内容的方式:
$em = $this->getDoctrine()->getManager();
$query2 = $em->createQuery("SELECT p.id,p.nombre FROM Exppromociones p");
$productos = $query2->getArrayResult();
table 应该是这样的:
{"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>
我希望 choices 字段的值等于 id,innerHTML 等于 nombre,如下所示:
<option value=93>Bucket</option>
我保留了相同的查询
$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>