elixir - 如何在同一页面上使用多个变更集
问题描述
我必须同时更新 3 个表。一页有 3 个变更集。
如果我用 发布 3 个 chagnesets form_for
,我该如何编写代码?3张表如下。
---------
members
---------
id
name
----------------
member_details
----------------
member_id
address
phone_no
--------------
member_items
--------------
member_id
item_id
或者另一种方式将受到欢迎。
解决方案
我遇到了和你类似的问题。您不需要 3 个变更集。您需要的是一个embedded_schema
包含您要插入的 3 个顶级元素的元素。然后,当您提交表单时,您可以调用与您尝试插入的元素相对应的每个变更集。最后,您在 other 中使用 Ecto.Multi 或 Repo.transaction 使此操作全部失败或全部成功。查看有关其工作原理的架构文档的顶部描述(特别是 SignUp 示例)。https://hexdocs.pm/ecto/Ecto.Schema.html
推荐阅读
- mongodb - Mongodb图集搜索:应用多种语言分析器
- react-native - 如何在截断的多行文本末尾插入文本?反应原生
- mysql - 使用 node.js 将 base64 字符串插入博客 mysql
- android - Flutter FCM无法运行onBackgroundMessage,未点击时无法在本地保存通知
- r - 如何按组查找n个最大值的平均值并在r数据表中添加为新列
- objective-c - 在 lldb 表达式上下文中使用 Objective-C 创建一个类
- reporting-services - SSRS 2019 本机模式未与 ReportServer 一起安装:服务性能计数器类别
- wordpress - 尝试上传插件时,我不断收到此问题
- reactjs - 使用 React-router 导航到子页面
- powershell - powershell“查找并替换”路径