假设一种情况,如:Company
has_many Users
为了获得有3个用户的公司,这有效地工作:
Company.joins(:users).group("companies.id").having("COUNT(users.id)=3")
字符串
但是,什么是最有效的方法来获得有0个用户的公司(没有)?因为,显然,同样的方法不起作用(因为joins
根据定义排除了有0个用户的公司):
Company.joins(:users).group("companies.id").having("COUNT(users.id)=0")
型
2条答案
按热度按时间jw5wzhpr1#
用左连接代替内连接。
字符串
q1qsirdb2#
随着Rails的不断发展,现在也可以在没有显式SQL的情况下进行公式化。
此外,使用外部连接和where on null user.id搜索没有用户的公司更容易:
字符串