如何在 Rails 5 中查询“有很多通过”关系

安迪

我有一个具有以下模型的 Rails 5 应用程序:

User.rb, Campaign.rb,UserCampaign.rb

关系是User has many Campaigns through UserCampaign通过这种关系,我可以查询@user.campaigns以查找与该用户相关的所有活动。到现在为止还挺好。

UserCampaign 架构如下所示:

create_table "user_campaigns", force: :cascade do |t|
  t.bigint "campaign_id"
  t.bigint "user_id"
  t.boolean "responded", default: false
  t.index ["campaign_id"], name: "index_user_campaigns_on_campaign_id"
  t.index ["user_id", "campaign_id"], name: "index_user_campaigns_on_user_id_and_campaign_id"
  t.index ["user_id"], name: "index_user_campaigns_on_user_id"
end

理想情况下,我想写@user.campaigns.where(responded: false). 但是,我收到以下错误:

PG::UndefinedColumn: ERROR: column campaigns.responded does not exist LINE 1: ...izard_id" WHERE "user_campaigns"."user_id" = $1 AND "campaigns".... ^ : SELECT "campaigns".* FROM "campaigns" INNER JOIN "user_campaigns" ON "campaigns"."id" = "user_campaigns"."campaign_id" WHERE "user_campaigns"."user_id" = $1 AND "campaigns"."responded" = $2

我知道我得到这个是因为responded它是关于 UserCampaign 而不是 Campaign 的专栏。进行连接以包含响应列的最佳方法是什么?

帕万

PG::UndefinedColumn: 错误:列活动。响应不存在

你应该像下面这样重写你的查询

@user.campaigns.joins(:user_campaigns).where(user_campaigns: {responded: false})

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Rails中创建联接表记录,有很多:通过关系

来自分类Dev

如何在Entity Framework 5中表达“有很多通过”关系?

来自分类Dev

我应该如何在Rails 4.0中使用单表继承(STI)来处理“有很多通过”关系

来自分类Dev

如何在Rails 5中创建API?

来自分类Dev

Rails:如何在Rails 5中禁用Turbolink?

来自分类Dev

如何在Rails 5中获得多个文件上传?

来自分类Dev

如何在Rails 5中使用select .... as和concat

来自分类Dev

如何在Rails 5中缩短异常处理消息?

来自分类Dev

如何在Rails 5中节省测量时间?

来自分类Dev

搭建资源时,Ajax如何在Rails 5中工作?

来自分类Dev

如何在rails5中使模型的列可选

来自分类Dev

如何在 rails 5 中添加物化视图

来自分类Dev

如何在 rails 5 中获取关联的多态对象?

来自分类Dev

rails 5 有很多模式

来自分类Dev

在Rails 5中,如何在成员字段上编写查找程序“ like”查询?

来自分类Dev

如何在 Rails 5 中通过 has_many 进行分组

来自分类Dev

如何在Rails 5的现有表中添加新列?

来自分类Dev

如何在Rails中通过HABTM查询belongs_to

来自分类Dev

Rails 5,思考狮身人面像,索引和搜索有很多关系

来自分类Dev

ActiveRecord如何在Rails中通过has_many:through关系将现有记录添加到关联中?

来自分类Dev

如何使jQuery在Rails 5中工作

来自分类Dev

如何在 Faraday (Rails 5) 中加密 JSON 有效负载

来自分类Dev

如何在Rails 5中使用RSpec测试模型中的关联?

来自分类Dev

升级后如何在Rails 5中使用链轮4

来自分类Dev

如何在Rails 3.2.12中使用HTML5输入

来自分类Dev

如何在Rails 5上的红宝石中创建多步骤表单?

来自分类Dev

我应该如何在Rails 5应用程序的`application.js`中要求Turbolinks

来自分类Dev

如何在rails 5的数据库中添加可以传递和存储当前时间的按钮?

来自分类Dev

如何在 Rails 5 中将 app/lib 文件夹中的模块要求为 rspec

Related 相关文章

  1. 1

    如何在Rails中创建联接表记录,有很多:通过关系

  2. 2

    如何在Entity Framework 5中表达“有很多通过”关系?

  3. 3

    我应该如何在Rails 4.0中使用单表继承(STI)来处理“有很多通过”关系

  4. 4

    如何在Rails 5中创建API?

  5. 5

    Rails:如何在Rails 5中禁用Turbolink?

  6. 6

    如何在Rails 5中获得多个文件上传?

  7. 7

    如何在Rails 5中使用select .... as和concat

  8. 8

    如何在Rails 5中缩短异常处理消息?

  9. 9

    如何在Rails 5中节省测量时间?

  10. 10

    搭建资源时,Ajax如何在Rails 5中工作?

  11. 11

    如何在rails5中使模型的列可选

  12. 12

    如何在 rails 5 中添加物化视图

  13. 13

    如何在 rails 5 中获取关联的多态对象?

  14. 14

    rails 5 有很多模式

  15. 15

    在Rails 5中,如何在成员字段上编写查找程序“ like”查询?

  16. 16

    如何在 Rails 5 中通过 has_many 进行分组

  17. 17

    如何在Rails 5的现有表中添加新列?

  18. 18

    如何在Rails中通过HABTM查询belongs_to

  19. 19

    Rails 5,思考狮身人面像,索引和搜索有很多关系

  20. 20

    ActiveRecord如何在Rails中通过has_many:through关系将现有记录添加到关联中?

  21. 21

    如何使jQuery在Rails 5中工作

  22. 22

    如何在 Faraday (Rails 5) 中加密 JSON 有效负载

  23. 23

    如何在Rails 5中使用RSpec测试模型中的关联?

  24. 24

    升级后如何在Rails 5中使用链轮4

  25. 25

    如何在Rails 3.2.12中使用HTML5输入

  26. 26

    如何在Rails 5上的红宝石中创建多步骤表单?

  27. 27

    我应该如何在Rails 5应用程序的`application.js`中要求Turbolinks

  28. 28

    如何在rails 5的数据库中添加可以传递和存储当前时间的按钮?

  29. 29

    如何在 Rails 5 中将 app/lib 文件夹中的模块要求为 rspec

热门标签

归档