I have this class,
class SecurityStat
{
/**
* @var integer
*/
private $number_of_holders;
/**
* Set number_of_holders
*
* @param integer $numberOfHolders
* @return SecurityStat
*/
public function setNumberOfHolders($numberOfHolders)
{
$this->number_of_holders = $numberOfHolders;
return $this;
}
/**
* Get number_of_holders
*
* @return integer
*/
public function getNumberOfHolders()
{
return $this->number_of_holders;
}
}
Acme\DemoBundle\Entity\SecurityStat:
type: entity
table: security_stats
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
number_of_holders:
type: integer
length: 15
nullable: true
在树枝模板文件中,
{{stat.number_of_holders}}
根据此文档,
http://twig.sensiolabs.org/doc/templates.html#variables
它应该调用stat.getNumberOfHolders()getter但我收到错误
Twig_Error_Runtime:对象“Acme \ DemoBundle \ Entity \ SecurityStat”的方法“number_of_holders”不存在
答案 0 :(得分:4)
它几乎是错误消息所说的,您的属性可以通过getter getNumberOfHolders
访问,因此属性访问路径应为{{ stat.numberOfHolders }}
您在twig中进行的调用必须与您班级中的实际方法名称相匹配,没有 magic 方式让twig知道您的私有财产number_of_holders
可通过您的方法访问{ {1}}。