我有两个表,表A是父表,表B是子表。两个表都有“order_number”列。
我想在表A中的“order_number”列中找到与表B中“order_number”列的值匹配的值,然后我将表A记录的“id”保存在另一列中表B记录。
我无法使用activerecord查询来查找匹配的列值。我该怎么做?
答案 0 :(得分:2)
Activerecord查询以查找匹配的列值:
我认为应该这样做:
TableA.where(order_number: TableB.pluck(:order_number))
然后你可以循环它来更新TableA id的tableB列,如下所示(假设它名为table_a_id)
tablea_records = TableA.where(order_number: TableB.pluck(:order_number))
tablea_records.each do |a|
b.where(order_number:a.order_number).update_all(table_a_id: a.id)
end