小编Joo*_*nas的帖子

如何使用片段作为更新变更集属性的一部分?

我正在尝试使用新属性和与现有列交互的数据库调用来更新现有模型。类似于UPDATE companies SET a = 1, b = jsonb_set(b, '{key}', CURRENT_TIMESTAMP(), true)SQL 中的东西。

我如何使用 Ecto 和片段来实现这一目标?

这是我的尝试,但它失败了,因为它fragment是一个宏:

enhanced =
  %{ attrs | b: fragment(
    "jsonb_set(b, ?, CURRENT_TIMESTAMP(), true)",
    "{#{Atom.to_string(key)}}"
  )}
result =
  company
  |> Company.changeset(enhanced)
  |> Repo.update()
Run Code Online (Sandbox Code Playgroud)

elixir ecto phoenix-framework

1
推荐指数
1
解决办法
1361
查看次数

标签 统计

ecto ×1

elixir ×1

phoenix-framework ×1