【问题标题】:How to order database columns in Rails when using MySQL database with json datatype?使用带有 json 数据类型的 MySQL 数据库时,如何在 Rails 中对数据库列进行排序?
【发布时间】:2016-11-02 16:57:54
【问题描述】:

我有模型 Job 和 Job 模型有字段 Additional_data。这里 additional_data 列存储为 json 数据类型并具有“优先级”之类的字段。我想根据附加数据的“优先级”字段值订购作业表条目。我有如下代码,但它不起作用。我需要使用 ORM 而不是原始 sql 来订购。

@jobs = Job.all.order('additional_data['priority'] asc')

【问题讨论】:

标签: mysql ruby-on-rails json


【解决方案1】:

这篇文章已经有 4 个月大了,但也许这仍然能让人开心。 你可以这样做。

@jobs = Job.all
.select('*, JSON_EXTRACT(additional_data, "$.priority") AS priority')
.order('priority asc')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-27
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 2011-06-07
    相关资源
    最近更新 更多