Dec*_*ter 0 ruby ruby-on-rails
我是ruby的新手并拥有以下内容:
students = Student.all(:order => "score DESC",
:limit => 5)
Run Code Online (Sandbox Code Playgroud)
但是我想在其中放入一个where子句,但是我收到错误"Unknown key:where".我的student表引用了一个examtable(t.references :exam),它有一个date字段,所以我需要做类似的事情:
students = Student.all(:where => "exam.date='01/01/2012'",
:order => "score DESC",
:limit => 5)
Run Code Online (Sandbox Code Playgroud)
如何where在all方法中使用子句并且是exam.date='01/01/2012'正确的?
all带参数的方法是一个pre-Rails 3 API,all(*args)相当于find(:all, *args),它采用以下:conditions选项:
students = Student.all(:conditions => "exam.date='01/01/2012'",
:order => "score DESC",
:limit => 5)
Run Code Online (Sandbox Code Playgroud)
通常优选使用Rails 3的可链接关系方法,但是:
students = Student.where("exam.date='01/01/2012'").order('score DESC').limit(5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
608 次 |
| 最近记录: |