[Dbix-class] Using { count => 'me.list_id' } with AS hack from the FAQ
John Napiorkowski
jjn1056 at yahoo.com
Wed Oct 11 03:07:26 CEST 2006
--- Matt S Trout <dbix-class at trout.me.uk> wrote:
> John Napiorkowski wrote:
> > --- Ash Berlin <ash at cpan.org> wrote:
> >
> >> Kevin Old wrote:
> >>> Hello everyone,
> >>>
> >>> I'm trying to use the hack defined in the FAQ
> for
> >> "sort my results
> >>> based on fields I've aliased using as" with the
> >> following statement
> >>> which includes a count.
> >>>
> >>> $schema->resultset("MyTable")->search(undef, {
> >> select => [ { count =>
> >>> 'list_id'} ], as => [ 'list_count' ] });
> >>>
> >>> Can someone give me the syntax for this
> statement
> >> for the hack? I've
> >>> tried just about every combination of inserting
> \'
> >> as list_count' but
> >>> nothing seems to work.
> >>>
> >>> Any help is greatly appreciated,
> >>> Kevin
> >>>
> >> Define doesn't work.
> >>
> >> If you mean $rs->list_count says no such method,
> >> then yes - it doesn't
> >> create an accessor for it. to
> >> $rs->get_column('list_count')
> >>
> >> If you mean the query doesn't run, then please
> tell
> >> us what error it gives.
> >>
> >> Ash
> >
> > I have something similar where I try to get the
> max
> > value for a given column and I also had trouble
> > getting it to work. The key was to remember that
> you
> > have a resultset returned, not a row. Here's how
> I do
> > it (It's a catalyst based example but should work
> > similarly:
> >
> > my $params = {
> >
> > select => {MAX => 'updated' },
> > as => 'updated',
> > }
> >
> > my $newest =
> $c->model('db::members')->search(undef,
> > $params);
> >
> > my $updated = newest->single->updated;
>
> Erm.
>
>
$c->model('db::members')->get_column('updated')->max;
>
> seems so much less work to me.
There was a reason I ended up doing it this way but
now I don't fully recall :) I think it was because
that didn't work for me with my paged resultsets. I
needed to get the max something from the current page,
not from the table as a whole. So that ended up being
more complicated. I cut some stuff out of the above
example to clarify it. Maybe that's fixed now, I
wrote this code several months ago and this project
moves really fast. I'll give it another try
-john
>
> --
> Matt S Trout Offering custom
> development, consultancy and support
> Technical Director contracts for Catalyst,
> DBIx::Class and BAST. Contact
> Shadowcat Systems Ltd. mst (at)
> shadowcatsystems.co.uk for more information
>
> + Help us build a better perl ORM:
> http://dbix-class.shadowcatsystems.co.uk/ +
>
> _______________________________________________
> List:
>
http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
> Wiki: http://dbix-class.shadowcatsystems.co.uk/
> IRC: irc.perl.org#dbix-class
> SVN:
>
http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
> Searchable Archive:
>
http://www.mail-archive.com/[email protected]/
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the Dbix-class
mailing list