php – symfony2 – 如何在每个页面中全局检索数据库中的数据

前端之家收集整理的这篇文章主要介绍了php – symfony2 – 如何在每个页面中全局检索数据库中的数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从数据库中的表中检索Cities名称,并将它们作为选项放在“layout.html.twig”中定义的选择输入(组合框)中.我的所有观点都扩展了’layout.html.twig’,那么如何在每个页面中访问城市名称

[解]

我无法回复我的主题,我没有太多的声誉所以我编辑我的主题

我找到了解决方案,使用“embedding controllers”

>首先,我创建了一个撤消所有城市名称的行动:

public function listCitiesAction(){
 // retreiving cities
$entities = $this->getDoctrine()->getRepository("MedAdBundle:City")->findAll();

return $this->render('MedAdBundle:Ville:list_cities.html.twig',array('entities' => $entities));

}

>此动作将list_cities.html.twig定义为:

<select class="form-control">
{% for entity in entities %}
<option>{{ entity.name}}</option>
{% endfor %}
</select>

> finnaly我编辑我的layout.html.twig

<div>
{{ render(controller('MedAdBundle:City:listCities'))}}
</div>

通过这种方式,我可以在我的应用程序的每个页面中访问城市组合框;)

另一个不错的方法是使用 render.

这允许您从layout.html.twig中调用控制器

{{ render(controller("AcmeDemoBundle:Helper:citySelector")) }}

你也可以用ESI缓存输出.

猜你在找的PHP相关文章