问题标签 [scalaquery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - SLICK 3.0 - 多个查询相互依赖 - db.run(action)
我是 Slick 3 的新手,到目前为止我已经了解 db.run 是异步调用。一旦 Future 返回, .map 或 .flatMap 就会运行。
我下面代码中的问题是所有子查询都不起作用(嵌套的 db.run)。
从概念上讲,我没有得到什么?如下执行这种代码是否有效?基本上在第一个查询的 .map 中,我根据第一个查询执行一些操作。
我到处都可以看到带有 yield 的循环,这是唯一的方法吗?我的代码中的问题是否与返回的 Future 值有关?
scala - 光滑的模式 - 获取连接表
用光滑做我的第一步,我有这个表
但我收到编译错误:
Query[Nothing,Nothing,Seq] 类型的表达式不符合预期的类型 List[DepartmentManager
我试过做这样的事情(只是为了检查,我知道这很糟糕):
但它没有给我想要的结果 - 后者 (t._1,t._2,t._3) 的结果看起来像
(1,Foo, (EMPLOYEES Path @1076478352._2).NAME (EMPLOYEES Path @1076478352._2).LAST)
请指教
scala - 光滑的模式 leftJoin 生产笛卡尔积
我有这两张桌子:
我想获得所有具有经理姓名(如果经理存在)的部门总共 3 行。
但是当我这样做时,在我的模式中:
我得到笛卡尔积(dm.size = 6)
试图这样查询:
结果错误:
[SlickException: 读取 ResultSet 列路径 s2._4 的 NULL 值 (null)]
这是我的员工模型:
作为输出,我想要与本机 Sql 等效的内容:
这将导致:
scala - Slick 3. 用于理解查询。我可以强制拥有选项吗
当我运行下一个查询时,有时我什么也得不到。当没有为我的花种建立相关的饲养员时,就会发生这种情况。
我想知道是否有可能以某种方式为饲养员获得 Option[] ?我尝试达到以下目标:
我知道如何在没有 For Comprehensions 的情况下实现我想要的。
scala - 使用 Slick 进行聚合
我的数据库结构如下所示:
编号 | 内容
我要获取最大 id 的条目(不仅仅是 id)。
我阅读了答案How to make aggregations with slickfirst
,但我发现语句中没有方法: Query(Coffees.map(_.price).max).first
。现在该怎么做?
如果我需要content
max 的项目id
怎么办?
slick - 包含在 for 理解中的 DBIOAction 是否总是按顺序运行?
我知道 Scala 中的 Futures 在组合为推导式时会按顺序运行,除非它们在推导式之外声明(如本文所述)。DBIOActions 的工作方式是否相同?例如在下面的查询中,query1
保证之前执行query2
?
mysql - Slick Transaction 已提交,但未保存在表 [Mysql] 中
我正在尝试在同一会话中执行多个数据库操作。调试日志显示事务提交,但数据不在数据库中持久。我将 slick 3.2.3 与 Scala Play 框架 2.6 一起使用。我该如何解决这个问题。
scala - SLICK:使用一个 slick api 调用在 3 个不同的表中插入值
问题与 slick 有关:我有三个表:
1)用户
2)Team2members
3)Team2Owners
在我对用户的发布请求中,我传递 和 的值memberOf
,managerOf
这些值将分别插入到表中Team2members
,Team2Owners
而不是插入到用户表中。尽管发布请求的其他值将插入“用户”表中。
我的 Post 请求如下所示:
我正在形成如下所示的查询:当我尝试定义这两个值时
,查询似乎工作正常,即,然后仅对第二个值进行插入。memberInsert
memberInsert
managerInsert