我的控制器中有这个代码:
$entProductosSolicitud = $em->getRepository("AppBundle:ProductoSolicitud")->findBy(array(
'solicitud_usuario' => $entSolicitudUsuario->getId()
));
我将其传递给视图:
'entProductosSolicitud'=> $ entProductosSolicitud
这将产生如下输出:
array:1 [▼
0 => ProductoSolicitud {#6303 ▼
#producto: Producto {#6318 }
#solicitud_usuario: SolicitudUsuario {#4525 }
#condicion_producto: CondicionProducto {#6320 }
#finalidad_producto: FinalidadProducto {#6324 }
#lote: 11
#procedencia_producto: ProcedenciaProducto {#6326 }
#productoCodigosArancelarios: PersistentCollection {#6332 }
#id: 5
}
]
这是正确的,因为我可以拥有多个实体,因此findBy
是用于查找实体的正确方法。现在我需要迭代每个实体属性,以便我可以访问Producto
名称和ID为item.getProducto.getName()
和item.getProducto.getId()
,但由于var entProductosSolicitud
有一个数组,所以我不知道如何迭代它。我试过这个:
{% for key, value in entProductosSolicitud %}
<tr>
<td><input type="checkbox" id="{{ value[key].getProducto.getId }}" name="" /></td>
<td>{{ value[key].getProducto.getNombre }}</td>
<td></td>
</tr>
{% endfor %}
但这不起作用,如何迭代entProductosSolicitud
以便在数组结果中访问它们的属性?
答案 0 :(得分:2)
Twig和Symfony在这里展示了迭代一组对象的几个例子:
http://twig.sensiolabs.org/doc/tags/for.html
http://symfony.com/doc/current/book/templating.html#templates
你所要做的就是:
{% for item in entProductosSolicitud %}
<tr>
<td><input type="checkbox" id="{{ item.getProducto.getId }}" name="" /></td>
<td>{{ item.getProducto.getNombre }}</td>
<td></td>
</tr>
{% endfor %}