2014-02-05 55 views
5

调用实体吸气我有实体这样下面是有可能从树枝

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; 

} 

传递给枝杈实体后,我可以访问ERRORNUM在树枝像这样 。

{{ item.errorNum }} 

但是我想从树枝中访问getErrorNum。

我该怎么做?

+0

更好地利用大写的类名的第一个字符,'类Item' –

回答

5

首先,你应该到protected errorNum ,然后你的财产private errorNum改变从控制器返回:

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

然后在你的树枝视图,您可以访问属性:

{{item.errorNum}} 

您也可以访问方法:

{{item.ErrorNum}} 
+0

感谢状,这是greathelp。树枝是神秘的.. – whitebear

+0

最受欢迎。保持联系与symfony2 :) – hizbul25

+3

此答案包含不正确的信息。将private errorNum更改为protected errorNum没有意义,这不会改变树枝能力访问属性。维克多的答案应该是被接受的答案。 – Omn

13

您可以直接在树枝获得方法:

{{ item.getErrorNum() }} 

但如果你errorNum属性是private,小枝自己调用它的吸气剂,所以当你使用

{{ item.errorNum }} 

树枝是所有同样得到吸气剂getErrorNum()

注意:对于使用item在树枝,你需要把这个对象传递给模板在你的行动,如:

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

其中$itemItem类对象