我有一个 Doctrine 实体的 Symfony 2 表单,其中包含多对多关系的实体选择字段。选择字段可能没有任何选择 - 我如何在 Twig 中测试这一点?
示例:该表单适用于“交易”实体,可以选择将其分配给“位置”实体。我像这样渲染“位置”实体字段:
{{ form_label(edit_form.locations) }}
{{ form_errors(edit_form.locations) }}
{{ form_widget(edit_form.locations) }}
该字段设置为使用复选框进行渲染。但是,可能不存在“位置”记录。在这种情况下,用户将看到标签“位置:”,但没有复选框。我想要一个显示消息的条件语句,大致如下:
{{ form_label(edit_form.locations) }}
{{ form_errors(edit_form.locations) }}
{{ form_widget(edit_form.locations) }}
{% if edit_form.locations.choices|length == 0 %}
You haven't created any Locations yet!
{% endif %}
有人知道实现这一目标的方法吗?
最佳答案
只是为了帮助别人...
在较新的版本中,它将是:
{% if edit_form.locations.vars.choices|length == 0%}
我实际上想这样做,所以我会分享:
如果您有一个嵌入式表单,并且您想要执行相同类型的检查,除了从原型(prototype)中提取数据(如果该表单不是由任何子表单生成的)
{% if form.childForms.vars.prototype.field.vars.choices|length == 0 %}
“childForms”是嵌入的表单类型,“field”是您想要选择的选择字段...
关于symfony - 从 Twig 模板中的实体字段获取选择数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9742208/