2016-05-09 22 views
0

我有這樣的代碼:如何創建未來的單位?

def updateDocSetting(data: Seq[ModelDocumentSetting])= { 

    for (a <- data){  
     DocumentSettingTable 
     .filter(_.doc_proc_list_id === a.doc_proc_list_id) 
     .map(doc => (doc.is_mandatory,doc.is_display,doc.is_deleted)) 
     .update(a.is_mandatory,a.is_display,a.is_deleted) 
    } 

} 

我有一個問題讓我的服務代碼 未來光滑的結果,這是我的服務代碼

def updateDocSetting(data: List[ModelDocumentSetting]): Future[Unit] = { 
    db.run(DalDocumentSetting.updateDocSetting(data)) 
} 

error:type mismatch; found : Unit required: slick.dbio.DBIOAction[Unit,slick.dbio.NoStream,Nothing]

回答

0

您可以轉換的序列DBIOAction s到使用DBIO.sequence的單個DBIOAction

使用yield得到DBIO行動順序:

for (a <- data) yield {  
    DocumentSettingTable 
     .filter(_.doc_proc_list_id === a.doc_proc_list_id) 
     .map(doc => (doc.is_mandatory,doc.is_display,doc.is_deleted)) 
     .update(a.is_mandatory,a.is_display,a.is_deleted) 
    } 

然後:

db.run(DBIO.sequence(DalDocumentSetting.updateDocSetting(data))) 
相關問題