具有多对多或其他参数的 ActiveRecord 查询
我有 2 个模型
- 项目(带有布尔列“隐藏”)
- 模型,
两者都具有多对多关系,因此我添加了带有projects_users 表的迁移,并使用更改了模型
has_and_belongs_to_many :users
# and
has_and_belongs_to_many :projects
现在我想做以下查询:
选择所有项目其中 hide 为 false 或“current_user”(变量)属于项目
Project.where("hidden = ?", false) 和 当前用户.项目 作品。但如何将它们组合成一个查询呢?
I got 2 Models
- Projects (with a boolean column "hidden")
- Models
the both have a many to many relationship, so i added a migration with a projects_users table and changed the models using
has_and_belongs_to_many :users
# and
has_and_belongs_to_many :projects
Now i want to do the following query:
Select all Projects where hidden is false OR "current_user" (a variable) belongs to project
Project.where("hidden = ?", false)
and
current_user.projects
works. But how to combine them into one query?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您所要做的就是为它们创建一个范围。然后您可以使用 Rails 控制台窗口测试它们
All you have to do is create a scope for both of them. Then you can test them with your rails console window