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
表引用了一个exam
table(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 次 |
最近记录: |