在下一个Scala函数中:
def usersForDepartments(colDeptIds: Option[String]) = Action.async {
request => {
println(colDeptIds)
for {
users <- Users.getAll(u => u.department in (colDeptIds.getOrElse("").split(";").toSet))
} yield Ok( Json.stringify(convertUsersToJsonOrig(users)))
}
}
colDeptIds将具有如下值:&#34; 001&#34;,&#34; 001; 002; 003&#34;。即它将包含一个包含数字id的字符串,如001,002,由&#34;;&#34;分隔。 每个用户都有一个名为department的字段。此功能的目标是让所有用户获得部门价值&#34;包含&#34;在colDeptIds中,但这不是该字符串中任何id的正确子字符串。为了解决这个问题,我试图使用:
将colDeptIds转换为一个集合(colDeptIds.getOrElse("").split(";").toSet)
但是我收到了错误:
scala:82: polymorphic expression cannot be instantiated to expected type;
[error] found : [B >: String]scala.collection.immutable.Set[B]
[error] required: slick.lifted.Query[slick.lifted.Rep[?], ?, ?]
[error] users <- Users.getAll(u => u.department in (colDeptIds.getOrElse("").split(";").toSet))
请帮忙吗?这个Scala的东西可能会令人困惑!