English 中文(简体)
铁路3 以三种方式进行计算时,通过电离层进行计算的次数很多。
原标题:Rails3 Performing Calculations on a three way has many through relational

我有三种模式:地点和特区;热点和特区;账户。

在我的工作地点模式中,我有:

has_many :hotspots
has_many :accounts, :foreign_key => :calledstationidclean, :through => :hotspots

我试图从每个地点账户模式中显示一些概要数据。

The following work ok:

  scope :location_history, lambda { |id|
                               joins( INNER JOIN hotspots b ON locations.id = b.location_id INNER JOIN account ON b.mac = account.calledstationidclean )
                               .where(:id => id)
                               .select("count(locations.id) AS sessions_count, sum(account.acctoutputoctets) AS downloads, sum(account.acctinputoctets) AS uploads, count(distinct account.callingstationid) AS unique_user")
                            }

但我需要作一些计算,我可以说明如何这样做。

通常,在账户模式Im中,能够做这样的事情:

 def self.session_time
   Account.sum("acctsessiontime")
 end

 def self.average_session
   self.session_time / Account.count
 end

我怎么能做类似的事情,但在我的所在地模式中——并且只为特定地点“一米观察”展示信息? 我是否确实需要参加?

最佳回答

是的,你必须加入。

  scope :location_history,
        lambda { |id| joins(:hotspots, :accounts).where(:id => id).
                      select("sum(account.acctsessiontime) as acctsessiontime, count(locations.id) AS sessions_count, sum(account.acctoutputoctets) AS downloads, sum(account.acctinputoctets) AS uploads, count(distinct account.callingstationid) AS unique_user")
               }

这样,你就可以使用一个小组,把所有这些记录与地点的记录结合起来。

  scope :with_history,
        lambda { |id| joins(:hotspots, :accounts).where(:id => id).
                      select("locations.*, sum(account.acctsessiontime) as acctsessiontime, count(locations.id) AS sessions_count, sum(account.acctoutputoctets) AS downloads, sum(account.acctinputoctets) AS uploads, count(distinct account.callingstationid) AS unique_user")
               }

这将把位置物体归还所有地点,并将把座标汇回。

问题回答

暂无回答




相关问题
rails collection_select vs. select

collection_select and select Rails helpers: Which one should I use? I can t see a difference in both ways. Both helpers take a collection and generates options tags inside a select tag. Is there a ...

SSL slowness in EC2

We ve deployed our rails app to EC2. In our setup, we have two proxies on small instances behind round-robin DNS. These run nginx load balancers for a dynamically growing and shrinking farm of web ...

Auth-code with A-Za-z0-9 to use in an URL parameter

As part of a web application I need an auth-code to pass as a URL parameter. I am currently using (in Rails) : Digest::SHA1.hexdigest((object_id + rand(255)).to_s) Which provides long strings like : ...

RubyCAS-Client question: Rails

I ve installed RubyCAS-Client version 2.1.0 as a plugin within a rails app. It s working, but I d like to remove the ?ticket= in the url. Is this possible?

activerecord has_many :through find with one sql call

I have a these 3 models: class User < ActiveRecord::Base has_many :permissions, :dependent => :destroy has_many :roles, :through => :permissions end class Permission < ActiveRecord::...

Ordering a hash to xml: Rails

I m building an xml document from a hash. The xml attributes need to be in order. How can this be accomplished? hash.to_xml

Text Editor for Ruby-on-Rails

guys which text editor is good for Rubyonrails? i m using Windows and i was using E-Texteditor but its not free n its expired now can anyone plese tell me any free texteditor? n which one is best an ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签