Ich arbeite an einer Berichtsfunktion für eine Rails-App, bei der Benutzer mit Personen in Büros Kontakt aufnehmen. Ein Büro hat viele Menschen und eine Person hat viele Kontakte.Filter schließt verschachtelte Beziehung ein
Ich möchte alle Büros abfragen, die in einem Zeitraum kontaktiert wurden, und alle Personen in den Büros, die in diesem Zeitraum kontaktiert wurden, aber keine Personen in den Büros, die in diesem Bereich nicht kontaktiert wurden . Mit anderen Worten, wenn zwei Personen im Büro sind und eines im Bereich kontaktiert wurde und eines nicht, dann möchte ich nur das in diesem Bereich kontaktierte einschließen.
Die Abfrage ich mit dem Schreiben begann wie folgt aussieht:
Office.includes(:contacts, :people).where('contacts.created_at >= ? AND contacts.created_at <= ?', @from_date, @to_date)
Aber diese filtert die Kontakte, nicht die Menschen. Dann habe ich versucht diese:
Office.includes(:contacts, :people).where('people.contacts.created_at >= ? AND people.contacts.created_at <= ?', @from_date, @to_date)
Aber das gibt mir Unknown column 'voters.call_attempts.created_at'
, was total Sinn macht. Jetzt bin ich mir nicht sicher, wohin ich von hier aus gehen soll.
Jeder Rat wird sehr geschätzt! Danke im Voraus.
Das funktioniert! Danke @moof! – michael