başka bir tabloya bir sorgu sonucunu takma İstediğim sonucu elde etmek için. Sonunda ŞimdiScala + kaygan 3: Bu soru 3.0 ya da 3.1 <p></p> I <code>map</code>, <code>for</code>, vb işlem bir ara bir sorgu (bu konuda esnek değilim) yaklaşık kaygan
val foo: DBIOAction[Seq[MySchema.Bar], NoStream, Effect.Read]
var ben bir val bar: TableQuery[MySchema.Bar]
var ve o hesapta foo eklemek istiyorum.
Eğer foo bir Seq
olsaydı bar ++= foo
yapabilirdim, ama değil. Bulduğum tek yol, sonucunu beklemek suretiyle sonuçlandırmaktır. Bu
val query = (bar ++= Await.result(db.run(foo), Duration.Inf))
gibi Açıkçası query
db.run
ile bir noktada çalıştırılması gerekiyor. Ama şimdi iki tane DB-çalışmam var. Herşeyi tek bir seferde yapmak daha iyi olmaz mıydı?
Bunu yapmanın daha iyi bir yolu var mı? ,
'bar + = foo': Yani
yazabilir Tek bir sorgu içine böyle bir şey derlemek için? Ama yine de 'db.run' olsaydı ne olursa olsun '+ = 'veya' ++ = '... (?) – kornfridgeBence ++ = yan etkilerle slick2 api, slick3 iken daha işlevseldir, bu yüzden açıkça bir "db.run" – kornfridge
yapmanizi gerektirir Evet, ++ = sonucu artık çalıştırılması gereken bir sorgu. Bu noktada soruyu düzenledim. Ama bu görev için iki tane db.run çağrısı yapmalıyım. – masgo