gpt4 book ai didi

elixir - 为什么此代码因 Ecto.NoPrimaryKeyValueError 而失败

转载 作者:行者123 更新时间:2023-12-05 00:49:25 25 4
gpt4 key购买 nike

为什么会失败:

%Partner{} |> cast(%{id: 123}, [:id]) |> delete 

带有 Ecto.NoPrimaryKeyValueError?我要显式设置主键?

最佳答案

对于变更集,Repo.delete 使用原始结构 (data) 中的 id,而不是 中的那个>changes,而 cast 只将新的 id 放在 changes 中。您可以将 changes 合并到原始结构(data)中:

%Partner{} |> cast(%{id: 123}, [:id]) |> Ecto.Changeset.apply_changes |> delete 

或手动将 id 放入 %Partner{}:

%Partner{id: 123} |> delete

关于elixir - 为什么此代码因 Ecto.NoPrimaryKeyValueError 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41384871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com