【问题标题】:where Method outputs empty?哪里方法输出空?
【发布时间】:2011-04-09 05:43:36
【问题描述】:

我有一个名为 Article 的模型,还有一个名为“article”的 db 表。 article 表有一列“created_at”。

看图

当我在控制台中运行以下命令时...

>> Article.where("created_at < '08-04-2011'")
=> []

不是说输出在大于 08-04-2011 (d,m,y) 的日期创建的任何内容吗? 此命令不应该输出您在上面发布的图片中看到的最后一个条目(id #7)吗?

我什至尝试过更改日期格式,因为它并不能真正反映它是如何输入到数据库中的,而且仍然没有得到想要的结果。

任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3


    【解决方案1】:
    Article.where("created_at < ?" ,  Time.local(2011,4,8))
    

    检查:http://railscasts.com/episodes/202-active-record-queries-in-rails-3

    【讨论】:

    • 我试过你的命令,它输出了一个空数组。我为 railscast 添加了书签,谢谢!
    【解决方案2】:

    我认为您提供的日期格式错误。试试这个:

    >> Article.where("created_at < '2011-04-08 00:00:00'")
    

    【讨论】:

    • 我试过了,它仍然输出一个空数组 => []
    【解决方案3】:

    我创建了一个 gem,它可以帮助我们找到名为 by_star 的发现。它可能对您有所帮助,而不是纠结于如何自己构建这些类型的查询。

    【讨论】:

      猜你喜欢
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 2020-05-02
      • 2016-06-21
      • 2022-01-03
      • 2011-07-17
      相关资源
      最近更新 更多