2015-08-08 30 views
3

我試圖展示一些存儲在數據庫中的對象屬性。我有控制器,實體和視圖。我沒有任何異常,但我看不到對象的屬性。在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 %} 

編輯:

最後,像克里斯說,問題是在查看「因爲我用我試着迭代是一個對象,而不是一個數組。這就是爲什麼不起作用。

這是我必須做的方式:

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

回答

1

在你的控制器,你取得編號爲2的PC,並把它傳遞給視圖。

在視圖中,您正在嘗試迭代此對象。我不知道當你嘗試遍歷一些不是數組或集合的東西時TWIG會做什麼,但也許它只是默默地失敗。

要修復它,改變你的控制器代碼到一個數組發送給視圖:

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

你說得對,我想迭代不會影響到我。謝謝。 – proktovief