我如何在Symfony2包中的每个页面上执行数据库查询?
我正在尝试创建一个who的在线功能,但这需要在全局范围内执行查询。
谢谢! :)
答案 0 :(得分:2)
你可以在我的layout.html.twig中渲染一个子模板,例如(在我的一个项目中)我有这个:
{% render "EUPaNdataBundle:Home:listAllInstitutes" %}
这将在顶部导航栏的下拉菜单中呈现所有机构的列表。
listAllInstitutes
是Home
控制器中的一项操作,它从数据库中获取机构列表,然后返回listAllInstitutes.html.twig
模板
答案 1 :(得分:2)
创建一个侦听kernel.request
事件的事件侦听器,并在她登录时更新当前用户上次看到的时间。有关侦听器的示例,请参阅my another answer并根据您的需要进行调整。< / p>
答案 2 :(得分:1)
有趣的问题。
如果你只需要一个视图(可能是布局),我建议创建Twig Helper。您可以在帮助程序类中访问Doctrine。检查此链接:
http://www.kiwwito.com/article/extending-twig-in-symfony-2-add-custom-functions