I am interested in this also.
Sorry don't have any ideas as I am to new to RoR myself


On Fri, May 1, 2009 at 7:32 PM, miga <[email protected]> wrote:

>
> Is there a way to rewrite the following Model method avoiding
> connection.select?
>
> class LineOrder < ActivateRecord::Base
> belongs_to :auction
> belongs_to :operation
>
> ...
> def self.amounts_by_year(search)
>  search_company = ""
>  if search
>     search_company = "inner join auctions on
> line_orders.auction_id=auctions.id where company LIKE "
>       + "'%#{search}%'"
>  end
>  connection.select_all("select year(date) as YD,
>    sum(if(operation_id != 2, gross_price, NULL)) as BGP,
>    sum(if(operation_id != 2, costs, NULL)) as BC,
>    sum(if(operation_id != 2, net_price, NULL)) as BNP,
>    sum(if(operation_id = 2, gross_price, NULL)) as SGP,
>    sum(if(operation_id = 2, costs, NULL)) as SC,
>    sum(if(operation_id = 2, net_price, NULL)) as SNP
>    from line_orders " + "#{search_company} " + "group by year(date)")
> end
>
> To fix the idea:
>
> The method is used in the index view to show at user's will the
> amounts by year either of a given auction or of all auctions,
> depending if the user has chosen to restrict the list to a particular
> auction or not.
>
> search is then the variable which is passed from the view to the model
> to get the scope on which the method will be applied.
>
> company is a field of the auction Model.
>
> gross_price, costs, net_price are entered unsigned for user's
> convenience. Hence they need to be separated afterwards depending on
> the operation_id.
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to