Forum: Ruby on Rails Extra Model Attributes from DB

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
PeteSalty (Guest)
on 2007-06-02 03:31
(Received via mailing list)
We have two models, Articles and Votes; it's the typical situation;
users can vote on articles so the models look something like this:

class Article < ActiveRecord::Base

  has_many :votes

end

class Vote < ActiveRecord::Base

  belongs_to :user
  belongs_to :article

end

(user isn't listed here because it's not important but you get the
idea).

What we want to do is actually get back the number of votes with the
article

The SQL for this is pretty straight forward and looks like:

    SELECT articles.*, COUNT(votes.id) AS vote_count FROM
      articles INNER JOIN votes ON articles.id = votes.article_id
    GROUP BY articles.id

We'd like to be able to then do something like

Article.find(:all, :order => "vote_count DESC")

and

<%= Article.find(125).vote_count %>

problem is, we can't work out if it's even possible in Rails to make
the Article model use this SQL, or if there's another solution we're
overlooking.
Does anyone know if it can be done or could point us in the right
direction?

Pete
This topic is locked and can not be replied to.