如何立即执行Rails数据库查询?

杰夫

我试图找到一些旧模型,创建一些新模型,如果保存成功,则删除旧模型。

这是我的代码(如果不是Rails-y,我对此表示歉意):

# find the old pages that are in my book... if my new pages save, delete these
old_pages = Page.where(:book_id => params['pages']['page0']['book_id'])


error_with_page_save = false

params['pages'].each do |t|
  t.each do |k|
    book_id = k['book_id']
    if k['page_type']
      tt = get_page_type_id(k['page_type'])
      page = Page.new do |t|
        t.book_id = k['book_id']
        t.sample_text = URI.decode(k['sample_text'])
        t.page_position = k['page_position']
        t.page_type_id = tt
        t.regex = URI.decode(k['regex'])
      end
      unless page.save!
        # HAD AN ISSUE SAVING ONE OF THE NEW PAGES
        error_with_page_save = true
      end
    end
  end
end

unless error_with_page_save
  puts "if there were no issues, delete all the old ones"
  old_pages.delete_all
end

问题是,这将删除新的,因为直到删除才实际调用find方法。

我如何获得真正执行的“ .where”方法?

梅桑贾

您可以保存ID。如果数据集很大,这样做的好处是消耗更少的资源。

old_page_ids = Page.where(:book_id => params['pages']['page0']['book_id']).pluck(:id)
# ...
Page.where(id: old_page_ids).delete_all

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails查询数据库

来自分类Dev

如何在不同的数据库中执行SQL查询

来自分类Dev

如何针对MySQL数据库表执行此查询?

来自分类Dev

数据库连接和执行查询

来自分类Dev

如何立即获取Redis数据库中的键值列表?

来自分类Dev

插入查询成功执行,但数据未插入数据库

来自分类Dev

当同一查询涉及两个数据库时,如何执行PDO语句?

来自分类Dev

如何在不执行数据库查询的情况下创建新记录?

来自分类Dev

如何在IOS中使用解析执行PFRelation或关系数据库查询

来自分类Dev

在Yesod应用程序中如何在GHCi中执行数据库查询

来自分类Dev

如何在Node.JS中执行多个查询(构建数据库)?

来自分类Dev

如何连接桌面Java应用程序和在线mysql数据库并执行查询?

来自分类Dev

如何在Diesel中对Postgres数据库执行带有子查询的删除?

来自分类Dev

在Yesod应用程序中如何在GHCi中执行数据库查询

来自分类Dev

如何作为1个数据库查询来执行此操作?

来自分类Dev

如何在IOS中使用解析执行PFRelation或关系数据库查询

来自分类Dev

如何连接桌面Java应用程序和在线mysql数据库并执行查询?

来自分类Dev

如何在Node.JS中执行多个查询(构建数据库)?

来自分类Dev

如何从数据库检索php查询并在执行的textarea上设置?

来自分类Dev

如何使用 ParseQuery 对同一数据库列执行 OR 查询?

来自分类Dev

如何使用 channel.connect() 对远程数据库执行“插入”查询;

来自分类Dev

如何找到不同数据库查询执行时间不同的原因?

来自分类Dev

如何在 phpmyadmin 中查看对给定数据库执行的查询

来自分类Dev

Django的。如何优化数据库查询?

来自分类Dev

如何从TFS数据库查询标签?

来自分类Dev

如何使用AngularJS查询数据库?

来自分类Dev

如何查询我的 Firebase 数据库?

来自分类Dev

Rails 4 ActiveRecord-如何查看如何解释数据库查询?

来自分类Dev

php pdo函数连接到数据库并执行查询

Related 相关文章

  1. 1

    Rails查询数据库

  2. 2

    如何在不同的数据库中执行SQL查询

  3. 3

    如何针对MySQL数据库表执行此查询?

  4. 4

    数据库连接和执行查询

  5. 5

    如何立即获取Redis数据库中的键值列表?

  6. 6

    插入查询成功执行,但数据未插入数据库

  7. 7

    当同一查询涉及两个数据库时,如何执行PDO语句?

  8. 8

    如何在不执行数据库查询的情况下创建新记录?

  9. 9

    如何在IOS中使用解析执行PFRelation或关系数据库查询

  10. 10

    在Yesod应用程序中如何在GHCi中执行数据库查询

  11. 11

    如何在Node.JS中执行多个查询(构建数据库)?

  12. 12

    如何连接桌面Java应用程序和在线mysql数据库并执行查询?

  13. 13

    如何在Diesel中对Postgres数据库执行带有子查询的删除?

  14. 14

    在Yesod应用程序中如何在GHCi中执行数据库查询

  15. 15

    如何作为1个数据库查询来执行此操作?

  16. 16

    如何在IOS中使用解析执行PFRelation或关系数据库查询

  17. 17

    如何连接桌面Java应用程序和在线mysql数据库并执行查询?

  18. 18

    如何在Node.JS中执行多个查询(构建数据库)?

  19. 19

    如何从数据库检索php查询并在执行的textarea上设置?

  20. 20

    如何使用 ParseQuery 对同一数据库列执行 OR 查询?

  21. 21

    如何使用 channel.connect() 对远程数据库执行“插入”查询;

  22. 22

    如何找到不同数据库查询执行时间不同的原因?

  23. 23

    如何在 phpmyadmin 中查看对给定数据库执行的查询

  24. 24

    Django的。如何优化数据库查询?

  25. 25

    如何从TFS数据库查询标签?

  26. 26

    如何使用AngularJS查询数据库?

  27. 27

    如何查询我的 Firebase 数据库?

  28. 28

    Rails 4 ActiveRecord-如何查看如何解释数据库查询?

  29. 29

    php pdo函数连接到数据库并执行查询

热门标签

归档