0
実際には期間を計算し、結果を降順でソートします。startTimeとendTime [DateTime]から継続時間を見つける方法
私は
db.run(totalSuccess.sortBy(ele => computeDuration(ele.startedOn, ele.completedOn).desc))
private def computeDuration(d1: Option[DateTime], d2: Option[DateTime]) = (d1, d2) match {
case (Some(d1),Some(d2)) => new Period(d1, d2, PeriodType.hours())
case _ => None
}
がele.startedOn
がRep[Option[DateTime]
で、computeDuration
はOption[DateTime]
を期待型の不一致エラーを取得、試してみました。
正常に機能しますか?またはこれを行う他の簡単な方法があります。
のための適切なデータベース機能と
datediff
を交換してください。あなたはSlickのSQLでDB IOアクションを覚えておく必要があります。 APIは標準的なスカラコードのように見えますが、Slickによって明示的にサポートされていない限り、任意の型を使用することはできません。あなたの場合、ネイティブSQL関数にマップする区間計算のためにSlick関数を定義する必要があります。あなたはたぶんコンパイルする完全なコードサンプルを投稿できますか? – user3588254