📜  rails where this or that - Ruby (1)

📅  最后修改于: 2023-12-03 14:46:54.448000             🧑  作者: Mango

Ruby on Rails 查询指南:where this or that

简介

在Ruby on Rails中,使用where方法可以进行数据查询。本指南将介绍如何使用where方法进行多条件查询,即“where this or that”。

示例

假设有一个User模型,包含nameemail两个属性。我们希望查询所有name为“Tom”或email为“tom@example.com”的用户。

我们可以像这样使用where方法:

User.where("name = ? OR email = ?", "Tom", "tom@example.com")

这条语句会生成如下SQL查询:

SELECT * FROM users WHERE name = 'Tom' OR email = 'tom@example.com'
解释
  • where方法的参数可以是字符串、哈希表或条件对象
  • 在字符串中,?代表占位符,后面的参数将按顺序填充占位符
  • 字符串中的逻辑符号(如OR)需手动添加
  • 哈希表中的键为属性名,值为要查询的值,可以同时指定多个属性
  • 条件对象可以使用Arel语法自由构建复杂的查询语句,需要了解Arel的语法规则
总结

使用where方法可以轻松实现多条件查询。其中,字符串形式最为灵活,可根据需要自由构建条件语句。

参考文献

Rails Guides - Active Record Query Interface