【发布时间】:2013-11-08 16:40:37
【问题描述】:
我的 Symfony2 项目中有一个树枝模板。 在树枝模板中,我有一个实体对象。 此实体对象通过 oneToMany 关系链接到另一个实体。
例子:
{{ submission }} -> Submission entity
{{ submission.histories }} -> Histories entity -> I have here an array collection of histories
实体历史有一个字段“state_to”
我的目标是只获取 state_to 为 4 的历史记录对象
我试过这样:
{{ submission.histories('status_to', 4)[0] }}
但这不起作用。
我知道我可以使用:
{% for history in submission.histories %}
{% if history.statusTo == 4 %}
{{ history.statusDate|date("d F Y") }}
{% endif %}
{% endfor %}
但我确信有更好的方法。
【问题讨论】:
-
好吧,而不是从数据库中获取所有实体并尝试在模板中过滤它们......您应该创建一个存储库方法来仅获取具有
history.statusTo = 4的那些并将它们传递给模板.这样的逻辑不应该包含在模板中。 -
好主意@nifr,为你+1。
标签: php symfony doctrine-orm entity twig