私はslick 2.0.2を使用しており、単純なフィルターを実行するか、whereサブステートメントを使用したいだけです。フィルター内で「and」、「or」、「not」などの論理演算を実行したいだけです。
val subjectdata = TableQuery[SubjectTable]
...
subjectdata.where(i=>(i.id===id && i.userId===rs.user.get.identityId.userId)).list()
エラーが発生します:
[error] G:\testprojects\slickplay\app\controllers\ShopController.scala:89: Cannot perform option-mapped operation
[error] with type: (Long, String) => R
[error] for base type: (Long, Long) => Boolean
[error] subjectdata.where(i=>(i.id===id && i.userId===rs.user.get.identityId
.userId)).list()
[error]
^
滑らかな 1.0.1 では、次のことができます。
val results = Query(TableClass)
.filter(r => r.isNull || r.expires > new Timestamp(DateTime.now().getMillis()))
.list
Slick2 の TableQuery で同様のことをしたいと考えています。どうやってするの?