SORU
27 EKİM 2011, PERŞEMBE


ActiveRecord bulmak ve sadece seçili sütunları dönmek

2 düzenleyin

Eğer bu rastlamak eğer, şimdi bu koparmak için kullanırdım olarak her iki cevap da kontrol edin


Echoe dışarı json olarak ... için iade etmek istiyorum oldukça büyük özel bir veri kümesi var. Bir parçasıdır:

l=Location.find(row.id)
tmp[row.id]=l

ama böyle bir şey yapmak istiyorum:

l=Location.find(row.id).select("name, website, city")
tmp[row.id]=l

ama bu iş olacak gibi görünmüyor. Bu nasıl söyleyeceğim?

thx

1 düzenleyin
sadece öznitelikleri dizisi başarılı bir şekilde bulunan istediğiniz var alternatif olarak?

CEVAP
27 EKİM 2011, PERŞEMBE


2 Raylar

l = Location.find(:id => id, :select => "name, website, city", :limit => 1)

...veya...

l = Location.find_by_sql(:conditions => ["SELECT name, website, city FROM locations WHERE id = ? LIMIT 1", id])

This reference doc Sayı ile sınırlamak için nasıl dahil olmak üzere .find,, ıd, ya da keyfi sütun/kısıtlama herhangi bir kullanabilirsiniz seçeneklerin tam listesini verir.

İçinde Raylar 3 w/ActiveRecord Sorgu Arayüzü

l = Location.where(["id = ?", id]).select("name, website, city").first

İlan No: Active Record Query Interface

Ayrıca bu zincirleme arama emri .select(...).where(...).first - bu çağrı tüm SQL sorgu oluşturmak ve göndermek sonra yaptığı takas olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AndroidSale

    AndroidSale

    17 NİSAN 2011
  • Dion Coulls

    Dion Coulls

    16 AĞUSTOS 2006
  • pilslajt

    pilslajt

    20 HAZİRAN 2008