[前][次][番号順一覧][スレッド一覧]

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...            ]