SortBy 项目完成日期不起作用

SortBy project finish date not working

我正在尝试 运行 使用 slickDB 在 scala 中进行查询。 它将获得根据完成日期排序的不同项目 ID。 它给我错误值 project_finish_date 不是 (models.Projects.type, models.ProjectInfo.type) 的成员。 我用 id 替换了 project_finish_date 并且它没有给出任何错误。 但是,当我尝试 sortBy project_finish_date.

时出现错误
def getIDsSortedByFinishDate()(implicit session: Session): List[String] = {
(for {
  (p, t) <- Projects leftJoin ProjectData on (_.id === _.project_id) 
    } yield (p,t)).sortBy{ _.project_finish_date }.map {_.id}.list.distinct
}

数据类型是:

project_finish_data:选项[日期]

id = Int

提前感谢您的帮助:)

看起来你在问题中写了 project_finish_date,但在你的代码块中使用了 project_finish_data。这可能是问题所在吗?

如果您以元组的形式产生,那么您应该在 sortBy 和映射中使用元组作为参数,如下所示:

def getIDsSortedByFinishDate()(implicit session: Session): List[String] = {
(for {
  (p, t) <- Projects leftJoin ProjectData on (_.id === _.project_id) 
    } yield (p,t)).sortBy{ case(p, t) => t.project_finish_date }.map { case(p, t) => p.id}.list.distinct
}