You can call method ->get_column('some_value')->min from resultset.
Also you can create your own ResultSet and add method

sub get_min_malue {
    shift->get_column('some_column')->min;
}

So you can make such query:
$c->model('DB::Table')->get_min_value;
$c->model('DB::Table')->search( {type => 1} )->get_min_value;

But you will make three requests for min, max and avg functions. Or you can
create other method in your resultset object which returns hash with needed
values.

sub get_stats_data{
   return { min => 1, max => 2, avg => 3}
}

2009/9/22 Trevor Phillips <[email protected]>

> 2009/9/21 Андрей Костенко <[email protected]>:
> > You can create a view for this query. e.g.
> > CREATE VIEW stats AS SELECT MIN(a), MAX(a), AVG(a) FROM table1;
>
> I could, but it's not the query I'm having a problem with - it's
> mapping it to columns within the pre-existing DBIx::Class. I'd rather
> not have to create a whole new class simply for this single query
> against my data. I can see the data in the raw object - I just can't
> access it through the normal methods.
>
> Reading the manual, I should be able to get the value via get_column,
> but Catalyst/TT uses the column methods instead.
>
> Hmmm, I *can* use get_column within TT, but that seems to defeat the
> purpose of abstracting data from presentation.
>
> When getting the search results, I can map the rows with
> $_->get_columns(). That seems to be the easiest solution for now.
>
> --
> Trevor Phillips  - http://dortamur.livejournal.com/
> "On nights such as this, evil deeds are done. And good deeds, of
> course. But mostly evil, on the whole."
>      -- (Terry Pratchett, Wyrd Sisters)
>
> _______________________________________________
> List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
> IRC: irc.perl.org#dbix-class
> SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
> Searchable Archive:
> http://www.grokbase.com/group/[email protected]
>
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]

Reply via email to