class Person < ActiveRecord::Base
has_many :pets
scope :with_dog, join(:pets).where("pets.type = 'Dog'")
scope :without_pets ???????????????????????????????????
end
class Pet < ActiveRecord::Base
belongs_to :people
end
Me gustaría agregar un alcance al modelo de persona que devuelve personas que no tienen mascotas. ¿Algunas ideas? Siento que esto es obvio, pero me está escapando en este momento.Búsqueda de registros sin registros asociados en rieles 3
SQL resultante que falla:. SELECT * personas, pets.id DE exterior 'persons' combinación izquierda mascotas donde persons.id = pets.person_id donde' persons'. 'deleted' = 0 AND (pets.id es nulo) – Shagymoe
¡Uy! Me equivoqué de esa unión. Debería haber sido "... en persons.id = pets.person_id", no "... where persons.id = ...". –
¿Necesita el ", pets.id" en select ('personas. *, Pets.id')? Tiene el potencial de colisionar con personas.id a menos que alias la columna como esta: selecciona ('personas. *, Pets.id como pet_id') – mkirk