我正在尝试显示存储在数据库中的一些对象属性。我有控制器,实体和视图。我没有例外,但我看不到对象属性。
控制器:
/**
* @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 %}
编辑:
最后,就像克里斯所说,问题是'因为我正在使用的视图我试图迭代是一个对象,而不是一个数组。这就是为什么不起作用。
这就是我必须这样做的方式:
return $this->render('PcDetailed.html.twig', array('pcs' => array($a)));
答案 0 :(得分:1)
在您的控制器中,您将获得ID为2的PC并将其传递给视图。
在视图中,您现在尝试迭代此对象。我不知道当你尝试迭代不是数组或集合的东西时TWIG会做什么,但也许它只是无声地失败。
要修复它,请更改控制器代码以将数组发送到视图:
return $this->render('PcDetailed.html.twig', array('pcs' => array($a)));