2014-02-05 8 views
5

Ich habe Unternehmen wie dies unterist es möglich, Zweig Einheit Getter aus Zweig

class item 
{ 
/** 
* @var integer 
* 
* @ORM\Column(name="id", type="integer") 
* @ORM\Id 
* @ORM\GeneratedValue(strategy="AUTO") 
*/ 
private $id; 



/** 
* @ORM\Column(type="integer",nullable=true) 
*/ 


private $errorNum; 


public function getErrorNum() 
{ 
    return $this->errorNUm * 3; 

} 

Ich kann die ErrorNum Zugang in Zweig wie diese nach dem Passieren der Einheit zu nennen.

Allerdings möchte ich auf die GetErrorNum von Zweig zugreifen.

Wie kann ich es machen?

+0

Bessere Nutzung Groß erste Zeichen in Klassennamen, wie 'Klasse Item' –

Antwort

5

Erstens ist Sie Ihre Immobilie private errorNum-protected errorNum und dann von dem Controller ändern sollte Rückkehr:

return $this->render("AcmeDemoBundle:Product:create.html.twig", array('item' => $item)); 

Dann in Ihrem Zweig Ansicht können Sie Zugriff auf Eigenschaft:

Sie auch Methode zugreifen können:

{{item.ErrorNum}} 
+0

Dank ist es greathelp. Zweig ist geheimnisvoll .. – whitebear

+0

Sehr willkommen. Bleiben Sie mit symfony2 verbunden :) – hizbul25

+3

Diese Antwort enthält falsche Informationen. Es hat keinen Sinn, private errorNum in protected errorNum zu ändern, die die Fähigkeit der Zweige nicht ändern, auf die Eigenschaft zuzugreifen. Die Antwort von Victor sollte die akzeptierte Antwort sein. – Omn

13

Sie können direkt Methode in Zweig erhalten:

{{ item.getErrorNum() }} 

aber wenn Ihr errorNum Eigenschaft private ist, Zweig sich der Getter der es nennen, so, wenn Sie

verwenden
{{ item.errorNum }} 

Zweig alles ist gleich get getter getErrorNum()

HINWEIS: Für die Verwendung item in Zweig müssen Sie dieses Objekt der Vorlage wie in der Aktion weitergeben müssen:

return $this->render("AcmeDemoBundle:Blog:posts.html.twig", array('item' => $item)) 

wo $item ein Objekt Item Klasse