我有以下实体
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;
}
我可以像这样访问twig中的errorNum 将实体传递给树枝后。
{{ item.errorNum }}
但是我想从twig中访问getErrorNum。
我该怎么做?
答案 0 :(得分:15)
你可以直接在树枝上获取方法:
{{ item.getErrorNum() }}
但是如果您的errorNum
属性为private
,那么twig会自己调用它的getter,所以当你使用
{{ item.errorNum }}
twig就是get getter getErrorNum()
注意:要在树枝中使用item
,您需要将此对象传递给动作中的模板,如:
return $this->render("AcmeDemoBundle:Blog:posts.html.twig", array('item' => $item))
其中$item
是Item
类对象
答案 1 :(得分:5)
首先,您应将属性private errorNum
更改为protected errorNum
然后从您的控制器返回:
return $this->render("AcmeDemoBundle:Product:create.html.twig", array('item' => $item));
然后在你的树枝视图中,你可以访问属性:
{{item.errorNum}}
您还可以访问方法:
{{item.ErrorNum}}