gpt4 book ai didi

mysql - 如何根据多个关联模型查询一个模型

转载 作者:行者123 更新时间:2023-11-29 20:26:22 25 4
gpt4 key购买 nike

我有一个 Rails 应用程序,其中有以下模型 -

城市、酒店、餐厅、公园。

协会是这样的 -

class City < ActiveRecord::Base

has_many :hotels
has_many :restaurants
has_many :parks

end

我想查找至少拥有一家酒店、餐厅或公园的所有城市。

如何编写单个查询来获取此类城市?

最佳答案

对于 Rails 5,您可以像下面这样使用

cities = City.includes(:hotels, :restaurants, :parks)
cities = ((cities.where.not(hotels: {id: nil})).or(cities.where.not(restaurants: {id: nil})).or(cities.where.not(parks: {id: nil})))

对于低版本的rails,需要使用arel_table

关于mysql - 如何根据多个关联模型查询一个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39292750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com