Ruby Rails在我的模型中插入ActiveRecord查询

时间:2016-12-19 16:07:08

标签: ruby-on-rails ruby activerecord

所以我试图对" SpiritTrial"进行查询。模特在哪里" trlid"得到第7位和第8位=" TI",然后我想将它找到的对象插入模型TiTrial中,我想采用" trlid"从SpiritTrial模型中重新定义为" name"在TiTrial。这就是我在TiTrial中所处的位置。我正在找回正确的东西我只是很难将文档翻译成我需要它做的事情。 ......任何帮助都会一如既往地受到高度赞赏。

def spiritpull
  u = SpiritTrial.where("trlid LIKE (?)", "%%%%%%TI%")

end

2 个答案:

答案 0 :(得分:0)

我建议你使用sql函数,这取决于你的DMNS,有时ActiveRecord不是执行sql的最佳选择,我认为你应该创建一个执行查询并插入表中的函数。我建议你使用像http://www.rigelgroupllc.com/blog/2014/09/14/working-with-complex-sql-statements/

这样的迁移来跟踪你的sql

答案 1 :(得分:0)

如果我理解正确:

def spiritpull
  u = SpiritTrial.where("trlid LIKE (?)", "%%%%%%TI%")
  # you should have multiple u results, iterate through each
  u.each do |spirit|
    # create a new TiTrial for each spirit
    r = TiTrial.new(name: spirit.trlid)
    # don't forget to save
    r.save
  end
end

根据我的上述评论,取每个SpiritTrial并创建一个新的TiTrial。如果我遗失了什么,请告诉我。