Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:在周初查找由创建的记录_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Rails:在周初查找由创建的记录

Ruby on rails Rails:在周初查找由创建的记录,ruby-on-rails,ruby,Ruby On Rails,Ruby,有没有办法找到在周初创建的记录? 比如: Message.find_by(created_at: Date.today.beginning_of_week). 但是它不起作用。因为在创建的是一个日期时间对象,它包含日期和时间值,然后 Message.find_by(created_at: Date.today.beginning_of_week) # Message Load (6.2ms) SELECT "messages".* FROM "messages" WHERE "messa

有没有办法找到在周初创建的记录?
比如:

Message.find_by(created_at: Date.today.beginning_of_week). 

但是它不起作用。

因为在创建的
是一个
日期时间
对象,它包含日期和时间值,然后

Message.find_by(created_at: Date.today.beginning_of_week)
# Message Load (6.2ms)  SELECT  "messages".* FROM "messages" WHERE "messages"."created_at" = $1 LIMIT $2  [["created_at", "2018-01-29"], ["LIMIT", 1]]
。。。将尝试在
2018-01-29 00:00:00
找到一条记录,这是一条在午夜创建的消息记录,而不是您可能期望的
2018-01-29
。你不想要那个,而是想要那个天创建的任何记录(就我理解你的问题而言)。因此,您可以尝试以下方法

date_beginning_this_week = Date.today.beginning_of_week
Message.where(created_at: date_beginning_this_week..(date_beginning_this_week + 1.day))
# Message Load (0.2ms)  SELECT  "messages".* FROM "messages" WHERE ("messages"."created_at" BETWEEN $1 AND $2) LIMIT $3  [["created_at", "2018-01-29"], ["created_at", "2018-01-30"], ["LIMIT", 11]]

这段代码确实有效——它完全按照您所说的去做:找到一条恰好在本周初创建的记录!!但我猜这不是你想做的,这就是你来这里的原因。。。那么,您能否更具体地说明您想要实现的目标?例如,我怀疑您实际上想要做的是:“查找本周创建的所有记录”(即,
在>=Date.today.开始一周时创建的记录)。或者你想找到本周创造的第一张唱片?或者是本周第一天创建的所有记录?或者是上周创造的最后一张唱片?我不知道你到底想要什么,这就是我要求澄清的原因。