我们需要使用一个double group by进行计数,据我所知,Rails 2.3中的ActiveRecord不支持这个方法,所以我们要执行一个自定义SQL查询,比如:
ActiveRecord::Base.connection.execute("select COUNT(*), author_id, call_type_id from signup_calls group by author_id, call_type_id")
但是,我们还需要过滤由三个用户选择的过滤器计算的注册调用,这些过滤器需要包含在where子句中。
有没有什么方法可以使用ActiveRecord帮助程序来帮助生成where子句。如果没有,最好的办法是什么?
最佳答案
你可以的
SignupCall.select('count(*) as signup_count, author_id, call_type_id').group('author_id, call_type_id')
然后把where从句串起来。
关于ruby-on-rails - 如何在Rails中为自定义SQL查询创建动态where子句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11037705/