根据其上下文轻松更新字段

时间:2016-07-06 11:08:16

标签: scala slick

我是Slick和scala的新手,我有以下问题。 我想找到基于相同时间戳的数据库中是否有记录。我的表有(id,时间戳,步骤,位置,方向)

1.measurements.filter(_。timestamp === operated_item.timestamp)//其中测量是我的TableQuery

  1. 如果记录不存在,我想根据光头文档制作一个创作

  2. 如果记录存在,则:

  3. 一个。如果步骤已经存在,我想更新位置和方向

    湾如果步骤不存在,那么我想更新步骤。

    我怎样才能做这些步骤,现在我有类似的东西:

    def operation(user_id: Long, operated_item: measure) = {
    
    val measurementsOperations = new MeasurementsOperations(db)
    
    val q = for {
                c <- measurements.filter(_.timestamp===operated_item.timestamp).filter(_.steps =!= operated_item.timestamp)
            } yield (c.steps)
            val act = q.update(operated_item.steps)
    
            db.run(act)
     }
    

    我想我必须做这样的事情:Filtering and mixing monads in Slick for comprehension and Cats

    但我不知道如何创建所有巢穴。

0 个答案:

没有答案