Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:如何检查jsonb列是否为空Postgres_Ruby On Rails_Postgresql - Fatal编程技术网

Ruby on rails Rails:如何检查jsonb列是否为空Postgres

Ruby on rails Rails:如何检查jsonb列是否为空Postgres,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,当我的表的jsonb列为空时,我在检查时遇到问题 My column方向为空时有值“{}” 尝试了以下方法 Model.where("directions != '{}'") <- brings all Model.where("directions <@ '{}'") <- brings all Model.where(“directions!='{}')尝试使用否定查询。而不是: Model.where.not("directions = '{}'") Model.wh

当我的表的jsonb列为空时,我在检查时遇到问题

My column方向为空时有值“{}”

尝试了以下方法

Model.where("directions != '{}'") <- brings all
Model.where("directions <@ '{}'") <- brings all

Model.where(“directions!='{}')尝试使用
否定查询。而不是

Model.where.not("directions = '{}'")

Model.where(“directions!='{}')
应该可以工作,但是
Model.where.not(directions:'{}')
感觉更像是讽刺(但是是等效的)。如果这些查询返回您的所有数据,那么您确定其中有实际方向数据的实例吗?@Frost唯一有效的语法是
Model.where.not(方向:'{}')
。回答您的问题,是的,我有两个案例记录。我同意Petros的观点,这在2017年和Rails 4中是无效的语法。
错误:运算符不存在:json未知
@philpirozhkov必须检查在这4-5年中是否有变化:)
Model.where.not(directions: '{}')
Model.where.not("directions::text = ?", "{}")