नमस्कार के माध्यम से has_many पर खंड,रेल 3 - जहां संघ
मैं एक has_many पर एक जहां क्वेरी के साथ एक छोटे से समस्या है: संघ के माध्यम से ...
मेरे सेटअप इस प्रकार है:
PurchaseOrderAddressAssignment:
belongs_to :address
belongs_to :purchase_order
पता:
has_many :purchase_order_address_assignments
has_many :purchase_orders, :through => :purchase_order_address_assignments
PurchaseOrder:
has_many :purchase_order_address_assignments
has_many :addresses, :through => :purchase_order_address_assignments
मेरे जहां खंड:
PurchaseOrder.where("addresses.id = 168 and addresses.id = 169").includes(:addresses)
लौटने 0 रिकॉर्ड्स ... लेकिन कम से कम 1 होना चाहिए। ..
PurchaseOrder.where(:baan_id => "KD0005756").first.address_ids
है लौटने [168, 169, 170, 327]
... मुझे लगता है कि मैं भी इस छोटे से समस्या को हल करने मूर्ख हूँ: -/
कोई मुझे बता सकते हैं कि मैं क्या कर रहा हूँ यहाँ गलत कर रहे हो?
Thx,
माइकल
इस 'खरीद ऑर्डर.एवर ("address.id = 168 और address.id = 169") को बदलने का प्रयास करें। (: पते) '' खरीददारी ऑर्डर.कॉयर (address.id => [168,169]) में शामिल है (: पते) 'और देखें कि क्या होता है। आपकी प्रतिक्रिया के लिए – ScottJShea
thx। मैं यह कहना भूल गया था कि मैंने पहले ही कोशिश की है कि आईएन (...) के साथ कहां है। यहां समस्या यह है कि यदि मैं कहां उपयोग कर रहा हूं ("address.id IN (n1, n2, n3)") क्वेरी 1000 खरीदार ऑर्डर लौटाएगी ... मेरे परिदृश्य में केवल 1 खरीद ऑर्डर है address_ids = [168, 16 9, 327] – sufu90
'address.id => [168,169] 'केवल उन दोनों तक ही सीमित होना चाहिए। – ScottJShea