我有两种型号User
和Site
。用户具有“基本和高级”等类别。用户与站点有关系 - >很多(即一个用户可以有多个站点)。现在我想选择高级用户的网站。有人能告诉我如何使用ActiveRecord
中的where子句来实现这一目标吗?活跃记录在哪里条款关系在型号
2
A
回答
2
我要选择优质用户的网站
这将做
User.includes(:sites).where('users.category = ?', 'premium')
更新
如果网站也有类别,如“Wordpress或joomla',我如何 适用where子句来选择付费用户
对于只有WordPress网站,你需要调整这样
User.includes(:sites).where('users.category = ? and sites.category = ?', 'premium','wordpress')
0
正如你说,category
是一列,所以Rails的自动为您生成以下方法:
User.find_by_category("basic")
如果你不想使用它,你可以使用where
方法,你必须发送键 - 值对类似以下内容:
User.where(:category => "basic")
当你找到你想要的类别user
,你可以简单地调用它的sites
得到所有相关网站的Wi一个特定的用户。
+1
我需要选择网站。不是用户。 – Vijay
0
查询你可以试试这个也:
@user_ids = User.where(category: 'premium').pluck(:id)
@sites = Site.where(user_id: @user_ids)
相关问题
- 1. mysql返回记录在哪里条款
- 2. 在哪里条款
- 3. 号码通配符在哪里条款
- 4. 通用在哪里条款歧义与相关类型在Swift
- 5. 在哪里条款案例
- 6. SQL - “IF”在哪里条款
- 7. 问题在哪里条款
- 8. 重构在哪里条款
- 9. Substrack在哪里条款
- 10. MYSQL Subselect在哪里条款
- 11. 连接在哪里条款
- 12. 案例在哪里条款
- 13. LINQ到客户关系管理 - 或在哪里条款
- 14. 显示记录不匹配在哪里条款
- 15. or_where里面功能活跃的记录
- 16. MyBatis - 嵌套条件在哪里条款
- 17. MySQL条数在哪里条款问题
- 18. 如果条件在哪里条款
- 19. Codeigniter - 活动记录如何在哪里(codition或条件)
- 20. 活跃记录的活跃记录的平均值
- 21. Ruby on Rails - 活跃记录 - 关系 - 多对多
- 22. Yii - 活跃的记录关系有很多问题
- 23. 城堡活跃记录 - 验证和关系
- 24. Rails - sort_by但保持活跃的记录关系
- 25. 在T-SQL中的开关盒在哪里条款
- 26. Oracle提高查询在哪里条款
- 27. TSQL使用时间在哪里条款
- 28. Rails:使用空白?在哪里条款
- 29. 比较字符串在哪里条款
- 30. java到mongoDB日期在哪里条款
是A类用户表中的列?或者类别本身不是另一种模式? –
这是一个专栏。 – Vijay
@Vijay是的,你也可以在网站的where子句中使用。注意:'where子句会给你一个记录集合,而不是一个记录' – Mandeep