在ActiveRecord中,可以使用where.not
方法来查找非空或存在字段的记录。下面是一个代码示例:
# 假设有一个User模型,其中有一个name字段
# 查找name字段不为空的记录
User.where.not(name: nil)
# 查找name字段存在的记录
User.where.not(name: [nil, ""])
# 查找同时满足多个条件的记录(name字段不为空,age字段大于18)
User.where.not(name: nil, age: nil).where("age > ?", 18)
上述示例中,where.not
方法可以接受一个哈希参数,其中的键是字段名,值是需要满足的条件。在上述示例中,我们使用了nil
和空字符串""
来表示字段不为空。如果要同时满足多个条件,可以链式调用where
方法来添加额外的条件。
注意,where.not
方法可以用于任何字段类型,不仅限于字符串类型的字段。