2016-04-14 10 views
1

我想用slickDB在scala中運行一個查詢。 它將獲得與其完成日期相關的不同項目ID。 它給我錯誤值project_finish_date不是(models.Projects.type,models.ProjectInfo.type)的成員。 我用id替換了project_finish_date,它不會給出任何錯誤。 但是,當我嘗試對project_finish_date進行排序時,它會發生錯誤。SortBy項目的完成日期不工作

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

感謝您的幫助提前:)

+0

給出的錯誤信息。正如丹D所說,這可能是一個簡單的錯字,但我們不能說。 –

回答

1

如果您正在爲元組產生,那麼你應該使用的元組爲您sortBy PARAM和地圖如下:

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 
} 
0

它看起來像你寫project_finish_date在你的問題,但在你的代碼塊使用project_finish_data。這可能是問題嗎?

+0

這是一個示例代碼,因爲我無法粘貼整個函數。你是對的,我在這裏粘貼的代碼中存在拼寫錯誤。 我收到的錯誤不是因爲錯字錯誤。 –