在Ruby on Rails中使用活动记录执行SQL操作

用户名

我有两个模型A和B。在表A中,我有三个列A1,A2和A3。在表B中,我还有三列B1,B2和B3。当我的A控制器更新其表时,我想传递一个ID,控制器B可以使用该ID来通过sql语句更新其表,该语句应类似于:

UPDATE TABLE B SET B2 = some_value WHERE B1=param_value AND B2=NULL 

我特别需要B2为null或为空,表B中的多个条目带有B1=param_value,但只有一行B1=param_value可以将B2设置为空。

我已经将此功能保存在application_controller.rb文件中

def update_tableB(id)
   temp = B.find_by_B1(id).find_by_B2(null)
   # Not sure how to set temp.B2 to some value I want
   B.update(temp).find_by_B1(id).find_by_B2(null)
end
西蒙妮·卡莱蒂(Simone Carletti)

在ActiveRecord中,您可以使用映射对象的模型,而不能直接使用表。因此,假设B是模型,则按照以下步骤执行SQL更新查询

Model.where(b1: param_value, b2: nil).update_all(b2: some_value)

由于您的问题太抽象了,我无法更具体地说明这一点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby on Rails活动记录

来自分类Dev

在 Ruby On Rails 中使用 SQL

来自分类Dev

Ruby on Rails活动记录查询

来自分类Dev

在Ruby on Rails中使用

来自分类Dev

Ruby On Rails中的活动记录分组

来自分类Dev

Ruby on Rails活动记录查询界面

来自分类Dev

在Mongoid Rails和Ruby中使用记录委托

来自分类Dev

如何检查在Ruby on Rails中使用rake执行的SQL命令

来自分类Dev

在Ruby on Rails中使用:owner

来自分类Dev

在Ruby on Rails中使用:owner

来自分类Dev

在Ruby中使用SQL文件

来自分类Dev

在Ruby中使用SQL文件

来自分类Dev

Ruby on Rails活动记录选择始终返回ID

来自分类Dev

Ruby on Rails活动记录选择始终返回ID

来自分类Dev

Ruby on Rails 5,活动记录关联,仅 API

来自分类Dev

Ruby on Rails Sql事务

来自分类Dev

如何在Ruby on Rails中使用jTable?

来自分类Dev

在Ruby on Rails中使用Chromedriver时出错

来自分类Dev

在PostgreSQL和Ruby on Rails中使用间隔

来自分类Dev

在Ruby on Rails中使用Redis的“ Keys *”

来自分类Dev

如何在Ruby on Rails中使用jTable?

来自分类Dev

在JavaScript中使用Ruby on Rails标记

来自分类Dev

在Ruby on Rails中使用引导程序错误

来自分类Dev

每个都在 Ruby on Rails 中使用 if 条件

来自分类Dev

在红宝石宝石中使用活动记录

来自分类Dev

使用ruby写入ruby文件

来自分类Dev

在Ruby on Rails的情况下如何执行以下操作

来自分类Dev

Ruby on Rails //需要特定参数才能执行特定操作

来自分类Dev

在Ruby on Rails的情况下如何执行以下操作