List[(A,B,C)]
htmlレポートを作成するには、をマップする必要があります。具体的には、
List[(Schedule,GameResult,Team)]
スケジュールにはgameDateプロパティが含まれており、これをグループ化して取得する必要があります。
Map[JodaTime, List(Schedule,GameResult,Team)]
これは、gameDateテーブルの行ヘッダーを表示するために使用します。簡単:
val data = repo.games.findAllByDate(fooDate).groupBy(_._1.gameDate)
ここで(私にとって)注意が必要なのは、ゲーム結果をペアとしてマッピングできるようにするために、グループ化をさらに洗練する方法です。明確にするために、各GameResultは、チームのゲームの「バージョン」(スコア、場所など)で構成され、対戦相手のチームと共通のスケジュールgameIDを共有します。
基本的に、ゲーム結果の結果を次のように1行に表示する必要があります。
3 London Dragons vs. Paris Frogs 2
gameDateでグループ化すると、次のようなことができます。
data.map{case(date,games) =>
// game date row headers
<tr><td>{date.toString("MMMM dd, yyyy")}</td></tr>
// print out game result data rows
games.map{case(schedule,result, team)=>
...
// BUT (result,team) slice is ungrouped, need grouped by Schedule gameID
}
}
既存のアプリケーション(PHP)の古いバージョンでは、
for($x = 0; $x < $this->gameCnt; $x = $x + 2) {...}
しかし、come-back-later-wtf-is-that-inducingではなく、変数名を参照したいと思います。
games._._2(rowCnt).total games._._3(rowCnt).name games._._1(rowCnt).location games._._2(rowCnt+1).total games._._3(rowCnt+1).name
多分zipまたはdoubleupfor(t1 <-data; t2 <-data)yield(?)または他の何かが完全にトリックを行います。とにかく、簡潔な解決策がありますが、今は私に来ていません...