SORU
30 Mart 2011, ÇARŞAMBA


activerecord içinde alt sorgular

Netice böyle kolayca alt sorgular yapabilirim

User.where(:id => Account.where(..).select(:user_id))

Bu üretir:

SELECT * FROM users WHERE id IN (SELECT user_id FROM accounts WHERE ..)

Nasıl raylar' 3 activerecord/ öncesinde/ meta_where? kullanarak bunu yapabilir miyim

İhtiyacım var/ gerçek alt sorgular, yakut, geçici (birkaç sorgu kullanarak).

CEVAP
31 Mayıs 2012, PERŞEMBE


Raylar artık varsayılan :) yapar

Message.where(user_id: Profile.select("user_id").where(gender: 'm'))

aşağıdaki SQL üretecek

SELECT "messages".* FROM "messages" WHERE "messages"."user_id" IN (SELECT user_id FROM "profiles" WHERE "profiles"."gender" = 'm')

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • JamesAtiPhone

    JamesAtiPhon

    16 EYLÜL 2010
  • Paste Magazine

    Paste Magazi

    28 AĞUSTOS 2008
  • steeletraining

    steeletraini

    28 NİSAN 2010