在 Symfony 2.7.3 中从数据库中获取对象

Fetching objects from database in Symfony 2.7.3

我正在尝试显示存储在数据库中的一些对象属性。我有控制器、实体和视图。我没有异常,但看不到对象属性。

控制器:

/**
* @Route ("/ov", name="ov")
*/
public function select(){

    $a=$this->getDoctrine()->getRepository('AppBundle:PC')->find(2);

    if(!$a){
        throw $this->createNotFoundExcepction('No PC');
    }

   return $this->render('PcDetailed.html.twig', array('pcs' => $a));

}

查看:

{% extends 'master.html.twig' %}
{% block divCentral %}
    <div class="row">
        <p>Nom del pc</p>
        <div class="small-6 small-centered columns">
            {% for pc in pcs %}
                <p>{{ pc.nom }}</p>
            {% endfor %}
        </div>
    </div>
{% endblock %}

编辑:

最后,正如 Chris 所说,问题是因为在我正在使用的视图上,我试图迭代的是一个对象,而不是一个数组。这就是为什么不起作用。

我必须这样做:

return $this->render('PcDetailed.html.twig', array('pcs' => array($a)));

在您的控制器中,您获取 ID 为 2 的 PC 并将其传递给视图。

在视图中,您现在正在尝试迭代此对象。我不知道当你尝试迭代不是数组或集合的东西时 TWIG 做了什么,但也许它只是默默地失败了。

要修复它,请更改您的控制器代码以将数组发送到视图:

return $this->render('PcDetailed.html.twig', array('pcs' => array($a)));