我正在使用acts_as_tenant
在我的模型中注入默认范围的 gem。
我也使用 Sunspot 进行搜索,如下所示:
Article.search do
with(:organization_id, ActsAsTenant.current_tenant.id)
fulltext params[:search]
end
Article
模型的范围是这样的,即使我没有在搜索中传递当前租户 ID,我也只会得到正确的结果(只是总数会被关闭)。
现在,问题:
如果在某些情况下我想忽略默认范围,acts_as_tenant
我该如何在 Solr 中做到这一点?这将不起作用:
Article.unscoped.search do
with(:organization_id, 999)
fulltext params[:search]
end
它将生成不正确的 SQL:
Article Load (34.2ms) SELECT `articles`.* FROM `articles` WHERE `articles`.`id` IN (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) AND `articles`.`organization_id` = 1
organization_id
当前租户的 id在哪里
TL;DR:使用 Sunspot 搜索时如何忽略默认范围?