gpt4 book ai didi

elixir - 如何重新加载 ecto 记录?

转载 作者:行者123 更新时间:2023-12-01 12:23:33 27 4
gpt4 key购买 nike

我有这段代码可以在数据库中插入一条记录。执行此操作后,我需要获取新记录的 id 以传递给客户端。

  msg_record = %Message{
fromEmail: params["fromEmail"],
body: params["body"],
room: room_id
}
Repo.insert!(msg_record)

问题是,这样做后 msg_record.id仍然为空。

在 Rails 中我会做 msg_record.reload.id - 有什么等效的方法吗?

最佳答案

我想我在文档上看起来不够好。

这可以在 HexDocs on Ecto 中找到:

iex> weather = %Weather{temp_lo: 0, temp_hi: 23}

iex> Repo.insert!(weather)

After persisting weather to the database, it will return a new copy of %Weather{} with the primary key (the id) set. We can use this value to read a struct back from the repository:



所以就我而言,我可以简单地重新分配变量:
msg_record = Repo.insert!(msg_record)

关于elixir - 如何重新加载 ecto 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41926279/

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