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