我想将不同模型上的多个查询链接在一起,这可能吗?
示例:我的餐厅有很多菜肴。我想搜索靠近某个位置的餐厅,然后搜索这些餐厅提供的与查询匹配的菜肴。我geocoder
对这两个查询都使用了 PGSearch,但我不知道如何让它们一起工作,以便我有一个查询,而不是将所有附近的餐馆加载到内存中,然后按查询进行搜索。
谢谢!
我想将不同模型上的多个查询链接在一起,这可能吗?
示例:我的餐厅有很多菜肴。我想搜索靠近某个位置的餐厅,然后搜索这些餐厅提供的与查询匹配的菜肴。我geocoder
对这两个查询都使用了 PGSearch,但我不知道如何让它们一起工作,以便我有一个查询,而不是将所有附近的餐馆加载到内存中,然后按查询进行搜索。
谢谢!
您需要使用“加入”,我没有使用这些宝石,但我将放置一个通用的活动记录搜索,然后您可以根据您的情况对其进行调整:
Restaurante.where(query_on_restaurante).joins(:dishes).where(dishes:{query_on_dishes})
在哪里:
query_on_restaurantes 可以类似于: location:"Hawai" :disses 被假定为关系的名称(restaurante has_many 菜肴) query_on_dishes 可以类似于:name:"Cheetos"
注意第二个 where 语句的括号。