ruby where用法

Posted lmg6406

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby where用法相关的知识,希望对你有一定的参考价值。

用法1

Subject.where("position=?","2").order("name")  

用法2  

与find方法不同的是,where方法返回的结果不是数组而是ActiveRelation,这意味着我们可以基于当前的查询结果继续设置条件进行查询。

Subject.where(:position =>"2").class  
=> ActiveRecord::Relation 

用法3

通过to_sql方法我们能看到Rails将我们的条件转换成的SQL语句以便于调试

Subject.where(:position =>"2").to_sql  
=> "SELECT `subjects`.* FROM `subjects`  WHERE `subjects`.`position` = ‘2‘"  

用法4

比如第一步先检索出position是2的所有对象,然后再根据name降序排列等等

Subject.where("position=?","2").order("name desc")  
=> [#<Subject id: 2, created_at: "2012-10-20 06:25:27", updated_at: "2012-10-20 15:10:36", name: "Second Subject", posit  
ion: "2">, #<Subject id: 4, created_at: "2012-10-20 15:14:07", updated_at: "2012-10-20 15:17:46", name: "Fourth Subject"  
, position: "2">]  

 

以上是关于ruby where用法的主要内容,如果未能解决你的问题,请参考以下文章

Ruby代码美化,多行拆分长指令

ruby Ruby片段

如何在 Ruby 中使用 Where 子句 (PostgreSQL) 中的变量编写查询

在 Ruby on Rails 中使用 WHERE 搜索功能时出错

c_cpp 加载源图像固定用法(代码片段,不全)

如何在 ActiveRecord 准备语句中使 ruby​​ 数组成为 x、y、z