Rails中Active Record Query中查找器方法的顺序

时间:2013-03-29 10:47:08

标签: ruby-on-rails-3 activerecord

我正在编写一个复杂的Active记录查询来从多个表中获取数据,该查询具有连接,选择,排序,分组,选择位置。

         @posts = Post.published.paginate(:order => 'popularity desc, id',
                                          :joins => [:comments, :images, :updates, :user],
                                          :conditions => conditions,
                                          :group => "posts.id",
                                          :select => "posts.id*,
                                          :per_page => 10, 
                                          :page => params[:page]) 

我想知道根据标准应该是where,join等的序列,并最大化查询的性能。如果有人可以写一个查询来解释那些非常棒的序列,比如

@posts = Post.published.joins(:comments, :images, :updates, :user).where(....

1 个答案:

答案 0 :(得分:0)

据我所知,顺序并不重要。

一个例子是:

@posts = Post.published.select('posts.id').
  joins(:comments, :images, :updates, :user).
  where('users.email = ?', 'john@doe.com').
  group('posts.id')