使用Rails查询postgres整数数组,其中值不是nil

时间:2017-11-24 15:15:13

标签: ruby-on-rails ruby postgresql

我正在尝试为我的Contradiction模型构建一个范围,其中evaluation_parameters属性仅包含非NULL值。 我有记录,此属性完全为空{}或其中一个值为{123, NULL},我希望在结果中没有这些值。

这是我的迁移:

add_column :contradictions, :evaluation_parameters, :integer, array: true, default: []

我已经尝试过以下查询,该查询仅返回带有空数组的记录

Contradiction.all.where.not("NULL = ANY (evaluation_parameters)")

有关如何做到这一点的任何建议? 谢谢:))

1 个答案:

答案 0 :(得分:0)

首先:

evaluation_parameters应该是:text,而不是:integer

您正在寻找的查询是:

Contradiction.where("evaluation_parameters = '{}'")

这将获取所有具有evaluate_parameters等于空数组的矛盾。

相关问题