思维狮身人面像-多态关联中的搜索数据

出去

我有这样的模型:

class Service < ActiveRecord::Base
  has_many :images, -> { where attachment_type: 'image' }, class_name: 'Attachment', as: :attachable, dependent: :destroy

  scope :with_images, -> { joins(:images).uniq }
end

它与附件具有多态关联。为了使用图像获取所有服务,我在上面使用了作用域。它产生这样的请求:

> Service.with_images
Service Load (25.6ms)  
SELECT DISTINCT "services".* FROM "services" INNER JOIN "attachments" ON "attachments"."attachable_id" = "services"."id" AND "attachments"."attachable_type" = 'Service' AND "attachments"."attachment_type" = 'image' WHERE "services"."deleted" = 'f'

但是我不知道如何通过Think Sphinx进行相同的搜索。有任何想法吗?

我在这里要做的是通过自定义SQL代码段创建布尔值属性:

has "COUNT(attachments.id) > 0", as: :has_images, type: :boolean
join images # need to force the join if it's not used through normal method chaining

然后搜索变为以下内容:

Service.search with: {has_images: true}

值得注意的是,如果您已经通过其他关联对附件表进行了连接,则SQL代码段中的表名可能不正确。如果是这种情况,请查看为源生成的sql_query值service_core_0config/development.sphinx.conf并根据需要使用适当的表/别名。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有狮身人面像关联的思维狮身人面像过滤

来自分类Dev

思维狮身人面像-与布尔字段的嵌套关联

来自分类Dev

思维狮身人面像搜索不会返回任何结果

来自分类Dev

思维狮身人面像:多索引搜索

来自分类Dev

思维狮身人面像范围搜索中缺少引号

来自分类Dev

如何使用思维狮身人面像搜索1970年之前的日期?

来自分类Dev

狮身人面像搜索索引

来自分类Dev

laravel 5狮身人面像搜索

来自分类Dev

狮身人面像搜索索引

来自分类Dev

狮身人面像搜索和Laravel

来自分类Dev

laravel 5狮身人面像搜索

来自分类Dev

特定顺序的狮身人面像搜索

来自分类Dev

URL中的狮身人面像替换

来自分类Dev

当在单个模型上使用多个索引文件时,思维狮身人面像搜索不会返回任何内容

来自分类Dev

用狮身人面像搜索实现构面

来自分类Dev

非整数MVA对上的狮身人面像多面搜索

来自分类Dev

狮身人面像发出(丢弃)搜索字段

来自分类Dev

非整数MVA对上的狮身人面像多面搜索

来自分类Dev

django干草堆或狮身人面像的简单搜索?

来自分类Dev

用狮身人面像搜索实现构面

来自分类Dev

在狮身人面像中替换尖括号

来自分类Dev

在狮身人面像文档中打印变量值

来自分类Dev

将狮身人面像指向构建目录中的图像

来自分类Dev

如何在狮身人面像中添加html标签?

来自分类Dev

捕获狮身人面像画廊中的Graphviz图形

来自分类Dev

HAS中的狮身人面像状况的思考

来自分类Dev

狮身人面像rt索引中的unix时间戳

来自分类Dev

在狮身人面像文档中打印变量值

来自分类Dev

将狮身人面像指向构建目录中的图像