Tôi không thể tìm ra giải pháp cho vấn đề chuyển đổi ngầm, nhưng tôi đã tìm thấy giải pháp giải quyết bằng cách sử dụng cú pháp trơn tru truyền thống hơn, với scala.util.Random.shuffle
:
def randomByBlahAndDate(blah: Blah, newerThan: LocalDate)(implicit s: Session): Option[Photo] = {
val photos = Query(Photos).where(_.imgDate > newerThan).where(_.blah === blah).run
val r = new scala.util.Random(scala.compat.Platform.currentTime)
r.shuffle(photos).headOption
}
Tôi không chắc về hiệu quả so với việc sử dụng rand()
của MySQL , nhưng điều này sẽ hoạt động trong thời gian này.