首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用搜索脚搜索零值?

如何使用搜索脚搜索零值?
EN

Stack Overflow用户
提问于 2016-05-11 11:30:17
回答 1查看 988关注 0票数 0

在Rails 4应用程序中,我有相关的模型申请者和商标,后者可以使用Search腿搜索:

代码语言:javascript
运行
复制
class Applicant < ActiveRecord::Base
  has_many :trademarks
end

class Trademark < ActiveRecord::Base
  belongs_to :applicant
  searchkick
end

我正在寻找没有申请人的商标实例。使用标准ActiveRecord,下面的查询可以工作,并返回没有申请者的商标:

代码语言:javascript
运行
复制
Trademark.where(applicant: nil).count
   (1.7ms)  SELECT COUNT(*) FROM "trademarks" WHERE "trademarks"."applicant_id" IS NULL
 => 1 

如何通过添加SearchKick来运行等效查询?

代码语言:javascript
运行
复制
# these queries run correctly and show that SearchKick is working
Trademark.search "*" # => 7 records
Trademark.search "*", where: {status: "Removed"} # => 5 records

# When trying to search for applicant == nil, the search fails:

# this returns 7 records, instead of the 1 expected result
Trademark.search "*", where: {applicant: nil} 

# this returns 0 records, instead of the 1 expected result
Trademark.search "*", where: {applicant_id: nil}

如何在SearchKick中为零值使用where子句?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-12 07:00:16

答案来自SearchKick gem的开发者Andrew。

我需要运行Trademark.reindex()来同步数据库和ElasticSearch。之后,语法Trademark.search "*", where: {applicant_id: nil}如出一辙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37161317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档