Mamy sobie taki kawałek kodu:
class category
.
.
.
has_many :transfers , :through => :transfer_items do
def older_than(day)
find :all, :conditions => ['day < ?', day]
end
end
Odwołanie się do składnika category.transfers powoduje, że jeśli jest taki transfer, który zawiera trzy transfer_item wskazujące na dane category to ten transfer pojawia się w wyniku trzykrotnie. Oczywiście jeśli wykonam na tym ‘uniq’ to uzyskam to co chcę, czy mógłbym jednak jakoś zmodyfikować wywołanie “find” bym od razu otrzymał unikalne wyniki? Z tego co widzę, to wynik powstaje w wyniku joina w sql łączącego transfer i jego transfer_items, które to rekordy są różne, jeśli jednak z nich wybierze się kolumny tylko transferu to już są identyczne.