Named_scope in rails unique records?

Daniel Fischer picture Daniel Fischer · Jan 14, 2010 · Viewed 7.1k times · Source

Is it possible to have named_scope return records unique for a certain column?

e.g

named_scope :unique_styles, :order =>"title desc", :limit => 3

That will give me three styles but what if I want to make sure the title is different? In this case there may be three records with the same style, I want this named_scope to only give unique values of title.

So ["style 1", "style 1", "style 1"] isn't possible, it'll force itself to give ["style 1", "some style 2", "maybe another 3"]

  • i think group may do it and I'm using that for now. If anyone has any comments regardless that'd be great.

Answer

workmad3 picture workmad3 · Jan 14, 2010

You probably want to explore the :group option for finders and named_scopes:

named_scope :unique_styles, :order => "title desc", :limit => 3, :group => "title"