gpt4 book ai didi

scala - Slick 3.0.0 - 如何使用 joinLeft 对查询进行排序

转载 作者:行者123 更新时间:2023-12-03 00:13:27 25 4
gpt4 key购买 nike

此问题与 another 相关。我还尝试使用 joinLeft 对查询进行排序,但在 slick 3.0.0 中。当选项代表自动解除时,我将如何做完全相同的事情?:

def list(filter: String, orderBy: Int):Future[Seq[(Computer, Option[Company])]] = {
val initialQuery = for {
(computer, company) <- Computer.filter(_.name like filter) leftJoin
Company on (_.companyId === _.id)
} yield (computer, company)

val sortedQuery = orderBy match {
case 2 => initialQuery.sortBy(_._1.name) //Works ok, column from a primary table
case 3 => initialQuery.sortBy(_._2.map(_.name)) //could not find implicit value for parameter ol: slick.lifted.OptionLift[slick.lifted.ColumnOrdered[String],slick.lifted.Rep[Option[QO]]]
}
db.run(sortedQuery.result)
}

谢谢

最佳答案

我认为缺少括号只是一个错字。最近,当我使用您的示例在错误的位置指定排序方向时,我遇到了这个问题:

case 3 => initialQuery.sortBy(_._2.map(_.name.asc))

应该是:

case 3 => initialQuery.sortBy(_._2.map(_.name).asc)

关于scala - Slick 3.0.0 - 如何使用 joinLeft 对查询进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32591508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com