Symfony 2:全局数据库查询

时间:2012-05-22 20:44:13

标签: php symfony

我如何在Symfony2包中的每个页面上执行数据库查询?

我正在尝试创建一个who的在线功能,但这需要在全局范围内执行查询。

谢谢! :)

3 个答案:

答案 0 :(得分:2)

你可以在我的layout.html.twig中渲染一个子模板,例如(在我的一个项目中)我有这个:

{% render "EUPaNdataBundle:Home:listAllInstitutes" %}

这将在顶部导航栏的下拉菜单中呈现所有机构的列表。

listAllInstitutesHome控制器中的一项操作,它从数据库中获取机构列表,然后返回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