гладкое сохранение нескольких объектов - PullRequest
0 голосов
/ 25 ноября 2018

эй, у меня есть приложение реагирования, которое отправляет заказ в мой API, например,

[
    {
        "product_id":13,
        "quantity":2
    },
    {
        "product_id":12,
        "quantity":2
    }
]

, и что я хотел бы с ним сделать, это проанализировать этот json для Seq [Product] и вот мойначинается проблема, я не знаю, чтобы сохранить этот Seq с пятном.

def createMany(productList: Seq[Product]): Future[Seq[Int]] = db.run {
    for {
      p <- productList
    } yield products += p
  }

, где продукты это TableQuery [продукт], думал о чем-то вроде этого, но я получаю

Type mismatch, expected: DBIOAction[NotInferedR, NoStream, Nothing], actual: Seq[JdbcProfile.this.ProfileAction[Int, NoStream, Effect.Write]]

Чтоя пытаюсь вернуть это список идентификаторов продуктов, которые я только что вставил

1 Ответ

0 голосов
/ 16 декабря 2018

Томси правильно, что вам нужно использовать ++= вместо += при вставке Seq.Также, если вы хотите, чтобы идентификаторы вернулись после вставки, вы можете попробовать:

products returning products.map(_.id) ++= productList
...