ran*_*its 3 ruby activerecord ruby-on-rails
有一点困难,想弄清楚如何从这个SQL查询创建一个named_scope:
select * from foo where id NOT IN (select foo_id from bar) AND foo.category = ? ORDER BY RAND() LIMIT 1;
类别应该是可变的以进行更改.
为上述问题编写named_scope的最有效方法是什么?
named_scope :scope_name, lambda { |category|
{
:conditions => ["id NOT IN (select foo_id from bar) AND foo.category = ?", category],
:order => 'RAND()',
:limit => 1
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
807 次 |
| 最近记录: |