【发布时间】:2012-06-03 06:27:42
【问题描述】:
我将 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'));
有什么想法吗?
【问题讨论】:
标签: php datetime doctrine-orm codeigniter-2 twig