我想插入數據到我的Cassandra表中,然後從列「user_id」而不是完整的ResultSet返回值。這裏是我的代碼片段:Scala Phantom Cassandra插入方法返回空ResultSet
def create(user: User): Future[UUID] = {
insert
.value(_.id, user.id)
.value(_.email, user.email)
.value(_.name, user.name)
.consistencyLevel_=(ConsistencyLevel.ALL)
.future()
.map(r => fromRow(r.one()).id)
}
def fromRow(r: Row): User = {
User(id(r), email(r), name(r))
}
所以future()返回Future [ResultSet]。之後,我嘗試從ResultSet中檢索Row,將其修改爲User並最終獲取ID。儘管數據保存到我的餐桌我
的ResultSet [耗盡:真,列[]
ResultSet中的列是空的,因此r.one()返回null。 我還沒有找到任何適合我的用途的例子。那麼,phantom-dsl可以像Quill一樣做什麼?
val q = quote {
query[Product].insert(lift(Product(0L, "My Product", 1011L))).returning(_.id)
}
只是出於好奇這裏有什麼用呢? – flavian
我有REST API和發佈請求將用戶保存到cassandra,並且我希望在插入後獲得已保存用戶的ID,例如{「code」:「201 Created」,「id」:「ffffffff」}。 – IVa