Mik*_*ike 42 sql ruby-on-rails-3
试图搜索出现的电影的发布日期大于今天的日期
Movie.where('release > ?', Date.today)
ActiveRecord::StatementInvalid: Mysql::ParseError: 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 'release > '2011-09-25')' at line 1: SELECT `movies`.* FROM `movies` WHERE (release > '2011-09-25')
Run Code Online (Sandbox Code Playgroud)
Ada*_*lin 92
尝试 __CODE__
或者在Rails 3+中: __CODE__
小智 16
在 Ruby 2.7 中,您可以尝试以下操作:
License.where(expiration: Time.zone.today..)
Run Code Online (Sandbox Code Playgroud)
SELECT "licenses".* FROM "licenses" WHERE "licenses"."expiration" >= '2021-07-06 15:12:05'
Run Code Online (Sandbox Code Playgroud)
Mar*_*n13 12
Rails 核心团队决定暂时恢复此更改,以便更详细地讨论它。有关更多信息,请参阅此评论和此 PR。
我仅出于教育目的而留下我的答案。
Movie.where('release >': DateTime.now)
Run Code Online (Sandbox Code Playgroud)
这是PR 的链接,您可以在其中找到更多示例。
Pat*_*ick 11
在最新版本的 rails 中,您可以这样做:
User.where(created_at: 3.days.ago..Time.now)
Run Code Online (Sandbox Code Playgroud)
在此处查看其他一些示例:https : //stackoverflow.com/a/24150094