Ik heb geen oplossing kunnen vinden voor het impliciete conversieprobleem, maar ik heb een oplossing gevonden met behulp van een meer traditionele, gelikte syntaxis, met 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
}
Ik ben onzeker over de efficiëntie in vergelijking met het gebruik van MySQL's rand()
, maar dit zal voorlopig werken.