6

के साथ सभी रिकॉर्ड खोजें मेरे पास 2 मॉडल (कसरत, उपकरण) हैं और इसमें कई रिश्ते हैं। अगर मैं Workout.find(:all, :joins => :equipment, :conditions => "equipment.id = 5") का उपयोग करता हूं तो यह काम करता है, लेकिन अगर मैं Workout.find(:all, :joins => :equipment, :conditions => "equipment.id = null") का उपयोग करता हूं तो यह किसी भी संगठन के साथ रिकॉर्ड वापस नहीं करता है। कोई विचार?रेल: एचएबीटीएम - कोई रिकॉर्ड

+0

रेल शामिल हों एक आंतरिक शामिल है। बाएं बाहरी जुड़ने के लिए जमशे का जवाब देखें जो आपको "असंबद्ध वर्कआउट्स" देगा। – Salil

+0

[रेल्स habtm और कोई एसोसिएशन के साथ रिकॉर्ड खोजने] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/7032194/rails-habtm-and-finding-record-with-no-association) –

उत्तर

9

इसे एक भंवर दें;

Workout.joins("left join equipments e on workouts.id = e.workouts_id").where("e.id is null") 
+0

रेल 3 आर्ल: 'कसरत .joins (: उपकरण, एरल :: नोड्स :: OuterJoin)। कहीं (उपकरण .arel_table [: id] .eq (शून्य)) ' – equivalent8

संबंधित मुद्दे