加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Serialize字段为’nil’但未通过’IS NULL’查

发布时间:2020-12-17 02:45:47 所属栏目:百科 来源:网络整理
导读:我的项目模型中有一个名为rankings的序列化字段. serialize :rankings 以下是一些结果查询: @projects = Project.where("rankings IS NULL") - 0 results@projects = Project.where("rankings = ?","") - 0 results@projects = Project.where("rankings = ?
我的项目模型中有一个名为rankings的序列化字段.

serialize :rankings

以下是一些结果查询:

@projects = Project.where("rankings IS NULL")         -> 0 results
@projects = Project.where("rankings = ?","")         -> 0 results
@projects = Project.where("rankings = ?",{})         -> 0 results    
@projects = Project.where("rankings = ?","{}")       -> 0 results
@projects = Project.where("rankings = ?",{}.to_yaml) -> 0 results

Project.find(275).rankings -> nil

这是一个有100个零的表(其中#275是一个).这是怎么回事?

解决方法

这是答案.

要在Rails中使用序列化字段查询nil,您必须执行以下操作:

@projects = Project.where("rankings = ?",nil.to_yaml)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读