[IN(.. .. ..)a_field]条件=>:についての特別とは何ですか?
-
26-09-2019 - |
質問
次の結果セットがwill_paginateでうまく動作します
Members.all(:limit => 5).paginate(:page => params[:page])
Members.all(:conditions => ["member_no < 6"]).paginate(:page => params[:page])
Members.all.paginate(:page => params[:page])
以下にはない:
Members.all(:conditions => ["member_no IN (?)", [1, 2, 3, 4, 5]]).paginate(:page => params[:page])
なぜ2番目のクエリは、のpaginateでうまく動作しないのですか?ありがとう!
解決
#paginateは、インスタンスメソッドが、アレイとのActiveRecord ::ベース上に利用可能です。
:あなたは本当にそれをこのようにやるべきことMember.paginate(:page => params[:page], :limit => 5)
Member.paginate(:conditions => ["member_no < ?", 6], :page => params[:page])
Member.paginate(:page => params[:page])
Member.paginate(:conditions => {:member_no => (1..5)}, :page => params[:page])
あなただけの最初の10をしたいので、あなたが#paginateその後、#ALL呼び出すと、何をやっていることは、それらの99.999%を廃棄し、その後、のすべてののメンバー(それらのすべて1,000,000)を求めています。これは、控えめに言っても、非常に無駄である。
所属していません StackOverflow