Ho 2 modelli (allenamento, attrezzatura) in una ha e appartiene a molte relazioni. Se utilizzo Workout.find(:all, :joins => :equipment, :conditions => "equipment.id = 5")
, funziona, ma se uso Workout.find(:all, :joins => :equipment, :conditions => "equipment.id = null")
non restituisce i record senza associazione. Qualche idea?Rails: HABTM - trova tutti i record senza associazione
6
A
risposta
9
Dai un vortice;
Workout.joins("left join equipments e on workouts.id = e.workouts_id").where("e.id is null")
+0
rails 3 arel: 'Workout .joins (: apparecchiature, Arel :: Nodes :: OuterJoin) .where (Equipment.arel_table [: id] .eq (nil)) ' – equivalent8
Rails join è un join interno. Controlla la risposta di Jamsi per l'outer join sinistro che ti darà gli "allenamenti non associati". – Salil
possibile duplicato di [Rails habtm e ricerca di record senza associazione] (http://stackoverflow.com/questions/7032194/rails-habtm-and-finding-record-with-no-association) –