小编Cam*_*nty的帖子

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

这个问题与另一个问题有关.我也尝试使用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)

谢谢,

scala playframework slick play-slick slick-3.0

6
推荐指数
2
解决办法
1643
查看次数

标签 统计

play-slick ×1

playframework ×1

scala ×1

slick ×1

slick-3.0 ×1