我将 CI2 与 Doctrine2 和 Twig 一起用于模板引擎。我正在尝试将实体的日期显示为字符串,但它对我不起作用。
我将一组 Entity 对象发送到模板,遍历它们并显示它们的属性:
{% for e in entities %}
<span><label>username</label>{{e.getUserName}}</span>
<span><label>email</label>{{e.getEmail}}</span>
<span><label>date created</label>{{e.getCreatedAt | date('d.M.Y H:i:s')}}</span>
{% endfor %}
该getCreatedAt()
方法返回一个 DateTime 对象。我可以在 PHP 中很好地使用这个对象:
echo $e->getCreatedAt->format('YmdHis');
但是,在 Twig 中,我似乎找不到任何打印字符串的方法。当我尝试上述方式时(我读过这是正确的方法),我得到:
date() expects parameter 1 to be string, object given
我尝试了其他几种方法:
{{e.getCreatedAt.format('d.M.Y H:i:s')}}
{{e.getCreatedAt}}
{{e.getCreatedAt | date('d.M.Y H:i:s') |strtotime}}
什么都解决不了。
我确定使用 addFilter() 方法添加“日期”Twig 过滤器:
$this->twig->addFilter('date', Twig_Filter_Function('date'));
有什么想法吗?