Cam*_*nty 6 scala playframework slick play-slick slick-3.0
这个问题与另一个问题有关.我也尝试使用joinLeft对查询进行排序,但是在光滑的3.0.0中.随着Option Rep被自动解除,我将如何做同样的事情?:
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)
}
Run Code Online (Sandbox Code Playgroud)
谢谢,
小智 5
我认为缺少括号只是一个错字.我最近在使用您的示例在错误的位置指定排序方向时出现此问题:
case 3 => initialQuery.sortBy(_._2.map(_.name.asc))
Run Code Online (Sandbox Code Playgroud)
它应该是:
case 3 => initialQuery.sortBy(_._2.map(_.name).asc)
Run Code Online (Sandbox Code Playgroud)
小智 0
您确定您复制了正确的代码吗?
case 3 => data.sortBy(_._2.map(_.name) //could not find implicit value for parameter
Run Code Online (Sandbox Code Playgroud)
少了一个“)”
应该
case 3 => data.sortBy(_._2.map(_.name))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1643 次 |
| 最近记录: |