it-swarm.com.de

Rails Console - Finden Sie den Ort, an dem ein bestimmter Tag erstellt wurde

Ist es mit Ruby on Rails Console möglich, die Datenbank nach allen Datensätzen abzufragen, die an einem bestimmten Tag erstellt wurden?

so etwas wie 

date = "january 5 2013"
users = User.find(:all, :conditions => {:created_at => date})
22
Seth

Sie können es so machen:

date = Date.parse('january 5 2013')
users = User.where(created_at: date.midnight..date.end_of_day)
52
Agis

Ja, es ist möglich wie:

date = Date.parse("january 5 2013")
users = User.where(created_at: date)

aber created_at ist die Art von Datum und Uhrzeit wie 2014-01-28 08:35:00.9608

und ich denke, alle Benutzer haben unterschiedliche create_at

Sie können also so verwendet werden

User.where("created_at = ?", "2014-01-23 16:19:48.199086")
2
Dheer

Versuche dies,

User.where("Date(updated_at) = ?", "2018-02-9")
1
PRAVEEN KUMAR

Sie können es auch gerne machen 

User.where("created_at::date = ?", "january 5 2013".to_date)
0
M. Habib

Wenn Sie den folgenden Link sehen Verwenden Sie nicht ZWISCHEN (besonders bei Zeitstempeln) Sie werden bemerken, dass Sie Probleme haben können.

Stattdessen können Sie verwenden

users = User.where('created_at >= ? and created_at <=?', date.midnight, date.end_of_day)



"SELECT \"users\".* FROM \"users\" WHERE (created_at >= '2018-05-17 07:00:00' and created_at <='2018-05-18 06:59:59.999999')"
0
poramo