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

rails:3465

From: naopontan <naopontan@g...>
Date: Wed, 25 Aug 2010 11:54:38 +0900
Subject: [rails:3465] has_one の検索について

こんにちは。
自分なりに調べてみたのですが、よく分からなかったので教えて下さい。

以下の様に顧客には「複数の注文」と「最新の注文」があります。
class Customer < ActiveRecord::Base
  has_many :orders
  has_one  :most_recent_order, :class_name => 'Order', :order =>
'created_at DESC'
end

Q1:最新の注文一覧を得るにはどうしたら良いですか?(以下で実現できましたが、もっとスマートな方法があるような気がします)
  customers = Customer.all.find_all{|c| c.most_recent_order}
  most_recent_orders = customers.map{|c| c.most_recent_order}

Q2:以下で検索対象を「最新の注文」に限定するにはどう記述すれば良いですか?
  Customer.all(:include => "order", :conditions => ["orders.cost > ?", 500])

--
ML: rails@r...
使い方: http://QuickML.com/

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

->    3465 2010-08-25 04:54 [naopontan@g...      ] has_one の検索について                  
      3466 2010-08-25 11:57 ┗[sakuro@2...         ]                                       
      3467 2010-08-25 14:27  ┗[sakuro@2...         ]                                     
      3472 2010-08-26 04:41   ┗[naopontan@g...      ]