بناء الجملة المناسب في ROR للوقت في مقارنة DateTime

StackOverflow https://stackoverflow.com/questions/3461821

  •  27-09-2019
  •  | 
  •  

سؤال

أحاول أن أعزز الوقت مع .to_date لتوليد المقارنة المناسبة

Organization.find(1140).events.all(:conditions => ["time < ?", Time.now.beginning_of_day]).blank?

كيف لي أن افعل ذلك؟ حاولت هذا:

Organization.find(1140).events.all(:conditions => [time.to_date < ?, Time.now.beginning_of_day]).blank?

وهذا فشل كبير: د

هل كانت مفيدة؟

المحلول

يمكنك أن تفعل شيئًا كهذا:

Organization.find(1140).events.all(:conditions => ["DATE(time) < ?", Date.today]).blank?

DATE() هي وظيفة MySQL لتحليل القيمة المحددة حتى الآن. وإذا كنت ترغب في مقارنة التواريخ التي يجب عليك استخدامها Date.today بدلاً من Time.now.beginning_of_day, ، إنه أقصر بكثير وأكثر قابلية للقراءة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top