在 Rails 控制台中使用连接的 Update_all 查询

用户7777

我有一个跟踪表和应用程序表

application.rb has_many :trackers

跟踪器

归属地:应用程序

我试图做的是更新 trackers 表中的 check_in_date 以查询到应用程序表中的 begin_date 仅针对那些 check_in_date 等于“2019-05-30”的记录。

我正在尝试运行下面的命令,但出现错误。

Tracker.joins(:application).where("check_in_date = ?", "2019-05-30").update_all("tracker.check_in_date = application.begin_date")

错误

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "application")

知道我哪里出错了。

工程师

也许试试这个:

注意我不知道这是否可行,所以除非你能确认,否则不要在生产中这样做

  Tracker.where(check_in_date: "2019-05-30")
    .update_all("check_in_date = (#{  
         Application.select(:begin_date)
           .where('applications.id = trackers.application_id').to_sql})"
  )

理论上,这应该导致以下 SQL

  UPDATE trackers 
  SET check_in_date = (
     SELECT 
        begin_date
     FROM 
        applications 
     WHERE 
        applications.id = trackers.application_id
  ) 
  WHERE 
    trackers.check_in_date = "2019-05-30"

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails查询可在控制台中使用,但不能在视图中使用

来自分类Dev

Rails-如何正确地对update_all查询中的值进行转义

来自分类Dev

Rails 4-如何在此参数哈希中使用Update_all?

来自分类Dev

Rubocop命令禁用Rails / SkipsModelValidations:避免使用update_all错误

来自分类Dev

如何在Rails 4中的has_one关系上使用update_all?

来自分类Dev

覆盖rails update_all方法

来自分类Dev

带有Hstore的Rails update_all

来自分类Dev

如何在Rails控制台中查询表

来自分类Dev

如何在Rails控制台中查询表

来自分类Dev

sqlite查询如何在Rails控制台中停用消息

来自分类Dev

rails rspec update_all方法在控制器中有效,但在rspec中无效

来自分类Dev

update_all与字符串连接

来自分类Dev

使用#update_all更新时间戳

来自分类Dev

在Rails控制台中使用url_for?

来自分类Dev

rails update_all字段,递增计数为1

来自分类Dev

Rails 4 update_all语法-参数错误

来自分类Dev

update_all之后的Rails Elastic Search重新索引数据

来自分类Dev

update_all之后的Rails Elastic Search重新索引数据

来自分类Dev

Rails上的update_all方法ruby的规范

来自分类Dev

在Rails控制台中终止Postgre连接

来自分类Dev

如何获得在 Rails 控制台中工作的活动记录查询在 rake 任务中工作?

来自分类Dev

使用update_all为所有记录添加年份

来自分类Dev

有条件地使用 Update_all

来自分类Dev

如何在rails控制台中使用permalink_fu更新permalink列为空?

来自分类Dev

如何在Rails控制台中使用关联测试/添加数据

来自分类Dev

Rails连接查询与范围

来自分类Dev

从PDF读取文本可在Rails控制台中使用,但不能在Rails应用程序中使用

来自分类Dev

如何在Rails的#update_all方法中传递参数变量?

来自分类Dev

Rails 4 update_all并从另一个字段设置值

Related 相关文章

  1. 1

    Rails查询可在控制台中使用,但不能在视图中使用

  2. 2

    Rails-如何正确地对update_all查询中的值进行转义

  3. 3

    Rails 4-如何在此参数哈希中使用Update_all?

  4. 4

    Rubocop命令禁用Rails / SkipsModelValidations:避免使用update_all错误

  5. 5

    如何在Rails 4中的has_one关系上使用update_all?

  6. 6

    覆盖rails update_all方法

  7. 7

    带有Hstore的Rails update_all

  8. 8

    如何在Rails控制台中查询表

  9. 9

    如何在Rails控制台中查询表

  10. 10

    sqlite查询如何在Rails控制台中停用消息

  11. 11

    rails rspec update_all方法在控制器中有效,但在rspec中无效

  12. 12

    update_all与字符串连接

  13. 13

    使用#update_all更新时间戳

  14. 14

    在Rails控制台中使用url_for?

  15. 15

    rails update_all字段,递增计数为1

  16. 16

    Rails 4 update_all语法-参数错误

  17. 17

    update_all之后的Rails Elastic Search重新索引数据

  18. 18

    update_all之后的Rails Elastic Search重新索引数据

  19. 19

    Rails上的update_all方法ruby的规范

  20. 20

    在Rails控制台中终止Postgre连接

  21. 21

    如何获得在 Rails 控制台中工作的活动记录查询在 rake 任务中工作?

  22. 22

    使用update_all为所有记录添加年份

  23. 23

    有条件地使用 Update_all

  24. 24

    如何在rails控制台中使用permalink_fu更新permalink列为空?

  25. 25

    如何在Rails控制台中使用关联测试/添加数据

  26. 26

    Rails连接查询与范围

  27. 27

    从PDF读取文本可在Rails控制台中使用,但不能在Rails应用程序中使用

  28. 28

    如何在Rails的#update_all方法中传递参数变量?

  29. 29

    Rails 4 update_all并从另一个字段设置值

热门标签

归档