【问题标题】:Rails scope for null or empty?Rails 范围为空还是空?
【发布时间】:2013-01-30 14:09:32
【问题描述】:

我想限定所有 cancelled_at 为 NULL 或空/空白的记录。

我发现很多帖子要求 IS NOT NULL/empty/blank...但我需要相反的内容。

我确信这很简单,但我很难过。

这是我目前得到的:

scope :active, where("cancelled_at IS NULL")

【问题讨论】:

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


    【解决方案1】:

    你试过了吗?

     Patient.where("created_at IS NULL or CAST(created_at as text) = ''")
     # SELECT "patients".* FROM "patients" WHERE (created_at IS NULL or CAST(created_at as text) = '')
    

    【讨论】:

    • 不行。与 IS NULL 效果相同:SELECT "users".* FROM "users" WHERE "users"."cancelled_at" IS NULL
    • 我需要is nullempty
    • 同一条目不能cancelled_at nil AND cancelled_at empty。
    • cancelled_at 看起来像一个时间戳。您无法将其与字符串进行比较。
    • @MrYoshiji 该字段以 NULL 开始,但随后用户取消并设置时间戳。然后,如果他们重新激活他们的帐户,它会清除时间戳(使其为空但不为 NULL)。
    猜你喜欢
    • 2012-01-27
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 2012-12-06
    • 2019-05-11
    • 2011-11-07
    • 2012-07-05
    相关资源
    最近更新 更多