【问题标题】:Rails Active Record - How to ordering by multiple fields conditionally?Rails Active Record - 如何有条件地按多个字段排序?
【发布时间】:2022-12-16 08:28:24
【问题描述】:

我有以下查询:

users.order("encounters.created #{order}")

但是,如果“创建”字段为空,我想使用具有相同数据类型(在本例中为 DateTime)的不同字段进行排序,如下所示:

user.order("encounters.created or encounter.start #{order}")

这肯定行不通。

这可能吗?

【问题讨论】:

标签: ruby-on-rails activerecord


【解决方案1】:

在 max 的帮助和一些研究之后,找到了解决方案:

user.order("Arel.sql("case when encounters.start is not null then encounters.start else encounters.created end #{order}"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    相关资源
    最近更新 更多