gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:47:39 24 4
gpt4 key购买 nike

我想从数据库中的表中检索城市名称,并将它们作为选项放在 'layout.html.twig' 中定义的选择输入(组合框)中。我的所有 View 都扩展了“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>
  • 最后我编辑我的 layout.html.twig

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

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

最佳答案

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

这允许您从 layout.html.twig

调用 Controller
{{ render(controller("AcmeDemoBundle:Helper:citySelector")) }}

您还可以使用 ESI 缓存输出.

关于php - symfony2 - 如何在每个页面中全局检索数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21094888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com