Ruby on rails 3 对嵌套资源进行计数的rails 3查询
假设我有3个表:用户(有很多)->网站(有很多)->访问量。 如果不编写简单的sql代码,如何确定每个用户的总访问次数 我有一个想法,但我并不十分自豪,因为我让rails代替mysql进行计算:Ruby on rails 3 对嵌套资源进行计数的rails 3查询,ruby-on-rails-3,Ruby On Rails 3,假设我有3个表:用户(有很多)->网站(有很多)->访问量。 如果不编写简单的sql代码,如何确定每个用户的总访问次数 我有一个想法,但我并不十分自豪,因为我让rails代替mysql进行计算: count = 0 user.websites.each |website| count += website.visits.count() 我是rails的新手,也许我错过了一些文档。是否可以从查询生成器中找到该计数?您可以定义用户通过以下网站进行了多次访问: class User <
count = 0
user.websites.each |website|
count += website.visits.count()
我是rails的新手,也许我错过了一些文档。是否可以从查询生成器中找到该计数?您可以定义用户通过以下网站进行了多次访问:
class User < ActiveRecord::Base
has_many :websites
has_many :visits, :through => :websites
end
也就是说,ActiveRecord为您创建SQL查询
(0.4ms) SELECT COUNT(*) FROM "visits" INNER JOIN "websites" ON "visits"."website_id" = "websites"."id" WHERE "websites"."user_id" = 1
=> 8