के साथ सभी रिकॉर्ड खोजें मेरे पास 2 मॉडल (कसरत, उपकरण) हैं और इसमें कई रिश्ते हैं। अगर मैं Workout.find(:all, :joins => :equipment, :conditions => "equipment.id = 5")
का उपयोग करता हूं तो यह काम करता है, लेकिन अगर मैं Workout.find(:all, :joins => :equipment, :conditions => "equipment.id = null")
का उपयोग करता हूं तो यह किसी भी संगठन के साथ रिकॉर्ड वापस नहीं करता है। कोई विचार?रेल: एचएबीटीएम - कोई रिकॉर्ड
6
A
उत्तर
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
रेल शामिल हों एक आंतरिक शामिल है। बाएं बाहरी जुड़ने के लिए जमशे का जवाब देखें जो आपको "असंबद्ध वर्कआउट्स" देगा। – Salil
[रेल्स habtm और कोई एसोसिएशन के साथ रिकॉर्ड खोजने] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/7032194/rails-habtm-and-finding-record-with-no-association) –