mysql - 如何使用 Rails 中的 update_all() 方法传递可变参数值?
问题描述
我正在尝试使用 #update_all 方法在 rake 任务中高速批量更新大量数据。我必须更新电子邮件和电话字段。对于电话字段很容易设置为“00000000000”。在电子邮件字段中,我想获取存储在 first_name 字段中的名称并添加“@email.com”。我一直在尝试这样的事情:
User.update_all(email: "#{User.first_name}"+"@email.com", phone: "00000000000")
但它不起作用。有任何想法吗?
解决方案
User.update_all("email = first_name || '@email.com', phone = '00000000000'")
||
将连接字符串。每个用户的名字将与@email.com 连接并分配给电子邮件字段。
推荐阅读
- linux - Shell如何在变量中分配字符串测试的结果
- c# - 在包含纯文本文件和搜索的 azure blob 存储上创建 azure 搜索索引
- javascript - useEffect 和 'react-hooks/exhaustive-deps' linting
- c# - Swashbuckle SwaggerResponseRemoveDefaults 属性仍然向 Swagger 添加 200 Success 响应
- javascript - 有没有办法改变url进入scrollIntoView函数?
- c# - Unity + ARKit / 使物体在图像跟踪后保持原位
- tensorflow - 如何在 tensorflow 2.0 中计算粗麻布?
- r - 将输出 R 与 Mancova 中的 spss 进行比较
- authentication - 在没有用户 Db 的情况下使用 MVC [Authorize] 属性
- javascript - 变量仅在声明为本地时定义