I이 스칼라 코드를 가지고 있지만 정렬 된 목록 제공하지 않습니다 : 나는스칼라 매끄러운 쿼리
val itemList = items.sortBy(_.name).filter(_.categoryId === catId).drop(start)
인가 정렬 된 목록을 얻을 아래 난 단지이 회선을 사용하는 경우
def getItemsByCategoryId(catId: Long, start: Int = 0, limit: Option[Int] = None): Future[Seq[(Item, Seq[String])]] = {
val itemList = items.sortBy(_.name).filter(_.categoryId === catId).drop(start)
val q = for {
(j, pair) <- itemList joinLeft (groups join tags on (_.tagId === _.id)) on (_.id === _._1.itemId)
} yield (j, pair)
db.run(q.result).map { (row) =>
row.groupBy(_._1).map { x =>
val tags = x._2.map(_._2).flatten
(x._1, tags.map(_._2.keyword))
}.toSeq
}
}
을 join/groupBy 조작은 어떤 식 으로든 정렬에 영향을 줍니까?
예 그들은 매우 큰 방식으로합니다. 따라서 정렬 된 결과가 필요하면 다시 정렬해야합니다. –