我有一个简单的模型" item"有3个属性: 标题,描述,日期
现在我想要一个这样的列表:
17年10月10日
标题项目1
标题项目5
17年12月10日
标题项目8
等等
根据groupedFor - grouping objects according to dates
我添加了一个像
这样的吸气剂/**
* Get day month year of datetime
*
* @return int
*/
public function getDayMonthYearOfDatetime()
{
return (int)$this->datum->format('dmy');
}
我的列表视图:
<f:groupedFor each="{items}" as="dayMonthYearOfDatetime" groupBy="dayMonthYearOfDatetime" groupKey="datum">
<tr>
<th>{datum}</th>
</tr>
<f:for each="{dayMonthYearOfDatetime}" as="calendar">
<tr>
<td>{item.title}</td>
</tr>
</f:for>
</f:groupedFor>
现在我得到以下输出:
101017 标题项目1 标题项目5
121017 标题项目8
如何显示正确的日期&#34; 10.10.17&#34;相反&#34; 101017&#34;?
如果我将我的吸气剂更改为:
return (int)$this->datum->format('d.m.y');
它没有用。
答案 0 :(得分:0)
如果您从带点的日期字符串返回int
,则无法进行分组。
要么你需要返回字符串(但我不知道该函数是否允许返回除int之外的其他内容),或者你需要从计算的整数中计算你的日期字符串。
尝试使用整数caclulations(%100,/ 100%100,/ 10000)或简单子字符串(,0,2,2,2,4,2)的viewhelper来提取日,月,年的值以下串联。
答案 1 :(得分:0)
您只需使用第一个组项的实际日期对象。
所以它会是
<f:format.date format="d.m.Y">{dayMonthYearOfDatetime.0.datum}</f:format>
答案 2 :(得分:0)
return (int)$this->datum->format('d.m.y');
删除(int)