【Scala】Doobie・getquillで日付フィルターしたい

Doobie・getquillで日付でフィルターしたいときは、カスタムのimplicitを定義しないといけない

こういうのはエラー出ます。。。

val from: LocalDateTime = ???
val q = quote {
        query[???]
          .filter(_.date.isAfter(from))
          .sortBy(_.date)(Ord.asc)
      }

サンプル

implicit class LocalDateTimeQuotes(left: LocalDateTime) {
    def >(right: LocalDateTime) = quote(infix"$left > $right".as[Boolean])
    def >=(right: LocalDateTime) = quote(infix"$left >= $right".as[Boolean])

    def <(right: LocalDateTime) = quote(infix"$left < $right".as[Boolean])
    def <=(right: LocalDateTime) = quote(infix"$left <= $right".as[Boolean])
  }

val from: LocalDateTime = ???
val to: LocalDateTime = ???
val q = quote {
        query[???]
          .filter(_.date >= lift(from))
          .filter(_.date <= lift(to))
          .sortBy(_.date)(Ord.asc)
      }

文献

何か困ったら基本ここ見たら解決する

https://getquill.io/#docs

コメント

タイトルとURLをコピーしました