rails:3209
From: Shin Morichika <ofl@c...>
Date: Sat, 12 Sep 2009 10:00:27 +0900
Subject: [rails:3209] Re: Active Record での書き方
解決後にあれなのですが、 もし1日以内に作成された数が10以下のケースの方が(圧倒 的に)多い場合、 解決策だとSQLが2回発行されることが多くなんかもったいないと 気になります。 で、思いついたのは @models = Model.find(:all, :limit =>10, :order => 'updated_at desc') @models = Model.find(:all, :conditions => ["created_at > ?", 1.day.ago], :order => 'updated_at desc') if @models[9].updated_at > 1.day.ago 最初に10件とってきて10番目のレコードの更新が一日前より も新しければ 1日以内の更新を取得し直すというものです(未検証)。 On 2009/09/12, at 8:40, Koichi Shimamura wrote: > 島村です。 > > 事後報告です。 > > 以下の方法でうまく取れています。皆さんどうもありがとうございまし > た。 > > @models = ( records = Model.find(:all, :conditions => ["created_at > > ?", > 1.day.ago], :order => 'updated_at desc') ) ? Model.find(:all, :limit > => > 10, :order => 'updated_at desc') : records > > > -- > ML: rails@r... > 使い方: http://QuickML.com/ -- 森近 真(もりちかしん) -- ML: rails@r... 使い方: http://QuickML.com/
3174 2009-09-02 10:58 [maf01541@n... ] Active Record での書き方 3178 2009-09-03 11:36 ┣[ggb03124@n... ] 3181 2009-09-03 13:32 ┃┗[ggb03124@n... ] 3180 2009-09-03 11:58 ┣[sakuro@2... ] 3184 2009-09-04 03:34 ┃┗[ggb03124@n... ] 3185 2009-09-04 05:56 ┃ ┗[ofl@c... ] 3189 2009-09-04 13:12 ┃ ┗[maf01541@n... ] 3205 2009-09-12 01:40 ┃ ┗[maf01541@n... ] 3206 2009-09-12 02:06 ┃ ┣[nov@y... ] 3208 2009-09-12 02:46 ┃ ┃┗[maf01541@n... ] -> 3209 2009-09-12 03:00 ┃ ┗[ofl@c... ] 3182 2009-09-03 20:43 ┗[nov@y... ] 3183 2009-09-03 21:05 ┗[nov@y... ]