0

我有一个模型传递给我的视图,如下所示:

IndexModel(productSales: Seq[ProductSale])

case class ProductSale(id: Int, name: String, soldAt: java.time.ZonedDateTime)

现在我想显示一个产品销售列表,但是我为这一天添加了一个标题,然后列出了当天的所有销售,如下所示

2016 年 7 月 10 日

产品1

产品 2

2016 年 7 月 11 日

产品 24 产品 2234

我能想到的唯一方法是要求我将当前日期存储在一个变量中,因此伪代码将是:

@currentDay = -1
@for(ps <- model.ProductSales) {

  @if(currentDay != ps.SoldAt.getDayOfMonth) {
     <h1>@ps.soldAt</h1>
     @currentDay = ps.SoldAt.getDayOfMonth
  }

  <li>@ps.name - @ps.id </li>

}

我应该如何使用旋转来做到这一点?

4

1 回答 1

0

尝试(未测试):

@for(currentDate <- model.productSales.map(_.soldAt).distinct) {
  <h1>@currentDate</h1>  
  @for(ps <- model.productSales.filter(_.soldAt == currentDate) {
    <li>@ps.name - @ps.id</li>
  }
}

如果您想声明需要使用的变量@defining(){...}- 在此处阅读更多信息:https ://www.playframework.com/documentation/2.5.x/JavaTemplates#Declaring-reusable-values

于 2016-07-14T16:32:34.687 回答