繁体   English   中英

Symfony2 - 使用表单集合的实体数据库ID数组键

[英]Symfony2 - Using the Entities database ID for Form Collections array key

我正在构建一个表单集合,它输出的行如下:

<input type="number" name="order[items][1][qty]">
<input type="number" name="order[items][2][qty]">

但我想做的是这一点:

<input type="number" name="order[items][DB_ID_1][qty]">
<input type="number" name="order[items][DB_ID_2][qty]">

DB_ID_1将是数据库记录ID的数值。 所以我可以打印出模板中的每一行,如下所示:

{{ form.items.1 }}

因此,它为ID为1的数据库记录输出表单元素,当前它打印出1的键的元素,其实例数据库id为9,例如

如需更多信息,请告诉我。 谢谢

我终于在这篇文章的帮助下找到了答案。 嵌入一​​组表格Symfony2表格,允许添加和删除

这是一个简单的解决方案 - 我在错误的地方寻找,我需要在我的自定义类库中使用INDEX BY x.id,如下所示:

$em->createQuery("SELECT f FROM ExampleCoreBundle:Folder f INDEX BY f.id WHERE f.uid = :uid");

这返回了我的Folder对象数组,数组的键是该文件夹的数据库记录的id字段。

现在,这与我最初想要的表单集合一起正常工作 - 我很确定这些信息不在网站的表单集合页面上,所以希望这对未来的其他人有帮助!

您可以使用以下命令访问传递给视图的form内的对象的值:

{% for order in form.orders %}
  {{ order.vars.value.id }}
{% endfor %}

http://symfony.com/doc/current/book/forms.html#rendering-each-field-by-hand

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM