是否可以从树枝上调用实体getter

时间:2014-02-05 14:50:27

标签: php symfony twig

我有以下实体

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。

我该怎么做?

2 个答案:

答案 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))

其中$itemItem类对象

答案 1 :(得分:5)

首先,您应将属性private errorNum更改为protected errorNum 然后从您的控制器返回:

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

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

{{item.errorNum}}

您还可以访问方法:

{{item.ErrorNum}}