6

Tengo 2 modelos (Entrenamiento, Equipo) en un tiene y pertenece a muchas relaciones. Si uso Workout.find(:all, :joins => :equipment, :conditions => "equipment.id = 5") funciona, pero si uso Workout.find(:all, :joins => :equipment, :conditions => "equipment.id = null"), no devuelve los registros sin asociación. ¿Algunas ideas?Rieles: HABTM - encuentre todos los registros sin asociación

+0

Rails join es una unión interna. Vea la respuesta de Jamsi para la combinación externa izquierda que le dará los "entrenamientos no asociados". – Salil

+0

posible duplicado de [Rails habtm y búsqueda de registro sin asociación] (http://stackoverflow.com/questions/7032194/rails-habtm-and-finding-record-with-no-association) –

Respuesta

9

Dale un giro;

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

rails 3 arel: 'Workout .joins (: equipos, Arel :: Nodes :: OuterJoin) .where (Equipment.arel_table [: id] .eq (nil)) ' – equivalent8

Cuestiones relacionadas