Ich versuche, die Datensätze abzufragen, deren Fälligkeitsdatum (DateTime-Datentyp) 3 Tage mehr als der aktuelle Tag ist. Ich möchte die restlichen Mails vor Ablauf von 3 Tagen an die Leute schicken. Dafür schreibe ich diese Abfrage.Wie werden die Datensätze abgerufen, deren Fälligkeitsdatum noch 3 Tage vom aktuellen Datum in Rails entfernt liegt?
remind_invoices = Invoice.where("status = ? AND (due_date - 3) == ?", "unpaid", Date.today)
ähnlich möchte ich die restlichen Mails versenden Ihre Fälligkeit zu sagen ist vorbei, (in diesem Fall Fälligkeit vergangenes Datum ist.) I die Datensätze für diejenigen holen wollen, wenn wir 3 Tage hinzufügen shoud es gleich sein bis zum heutigen Tag. In einfachen Worten möchte ich E-Mails senden, nachdem die 3 Tage ihres Fälligkeitstermins vorbei sind. Dafür ist meine aktuelle Abfrage das.
unpaid_invoices = Invoice.where("status = ? AND (due_date + 3) == ?", "unpaid", Date.today)
aber diese Abfragen geben Fehler wie
Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== '2016-12-17')' at line 1: SELECT `invoises`.* FROM `invoises` WHERE (status = 'unpaid' AND (due_date - 3) == '2016-12-17')
ActiveRecord::StatementInvalid: Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== '2016-12-17')' at line 1: SELECT `invoises`.* FROM `invoises` WHERE (status = 'unpaid' AND (due_date - 3) == '2016-12-17')