2013-01-03 14 views
7

Đây là một ví dụ về một mục trong cơ sở dữ liệu của tôi (.each, .collect, .map ...?):Ruby on Rails Active Record Query

Market id: 1, name: "Independence Park (Independently Run Farmers Market...", address: "3945 N. Springfield Ave., Chicago, IL", zipcode: "60618", created_at: "2013-01-01 21:22:24", updated_at: "2013-01-01 21:22:24" 

Tất cả tôi muốn làm là danh sách 43 zipcodes từ tất cả các mục trong cơ sở dữ liệu của tôi. Tại sao những truy vấn này không hoạt động?

  1. Market.all.each { |m| m.zipcode }
  2. Market.all.zipcode
    • m = Market.all
    • m.each{ |m| m.zipcode }

Cảm ơn!

+0

mối quan hệ là mã zip được giữ gìn thị trường hoặc trong mối quan hệ – Amar

+1

Tôi đã tìm ra ... Market.pluck (: zipcode) – user1946151

Trả lời

21

Nếu tất cả các bạn muốn là một mảng các mã zip, tôi sẽ đề nghị thử này:

Market.pluck(:zipcode) 
3

Bạn có thể cũng làm như sau, nó sẽ trả về một mảng của zipcodes:

Market.all.map(&:zipcode) 

Sử dụng điểm chuẩn để xác định cái nào tốt hơn.

+2

điều này sẽ có khả năng ăn tải của ram. – srecnig