[Dbix-class] Issues with using the as=>[...] parameter

John Napiorkowski jjn1056 at yahoo.com
Fri Nov 3 03:20:50 GMT 2006


-- Devin Austin <devin.austin at gmail.com> wrote:

> worked for me, if that counts for anything.  Didn't
> think of using that kind
> of logic, straight up, but clever :-)
> 
> On 11/2/06, Lee Standen <nom at standen.id.au> wrote:
> >
> > It's all good :P
> > I'm often good at trying to work out what people
> mean :)
> >
> > We'll soon know if I was right, when the OP
> replies :)

Well,

I'll have to give this a try again when I get back to
the office tomorrow.  I felt pretty stupid about the
section in the manual stating that 'as' couldn't be
used that way.  However when I was working on it I
tried:

...
select => ['album_id', 'user_id, {count=>\'image_id as
image_num'],

but what I got in the sql was something like:

count(image_id as image_num}

I'll have to read these posts more carefully, I'm sure
the answer is in here.

thanks for the thoughts so far,

john



> >
> >
> > Devin Austin wrote:
> > > Ah good thinking lee.  Didn't mean to detract
> from the original message,
> > > i was just a bit confused.
> > >
> > > On 11/2/06, *Lee Standen* < nom at standen.id.au
> > > <mailto:nom at standen.id.au>> wrote:
> > >
> > >     You can't use count() without group by in
> this example. (Unless I'm
> > >     mistaken).
> > >
> > >      From what I'm seeing here, it sounds like
> what you really want is:
> > >
> > >     my $user =
> $schema->resultset('User')->search( username =>
> > $username,
> > >     $password => $password )->count();
> > >
> > >     Although I don't know why you just don't do:
> > >
> > >     my $user = $schema->resultset('User')->find(
> username => $u );
> > >     if ($user->password eq
> $q->param('password')) {
> > >             ...
> > >     }
> > >
> > >     That gives the added advantage of being able
> to get other
> > information
> > >     about the user as well.
> > >
> > >
> > >
> > >
> > >
> > >     Devin Austin wrote:
> > >      > so if i'm understanding this correctly,
> the following code:
> > >      >
> > >      >     my $user =
> $schema->resultset('User')->single(
> > >      >           {
> > >      >               username =>
> $q->param('username'),
> > >      >               password =>
> $q->param('password')
> > >      >           },
> > >      >           {
> > >      >             select => [
> > >      >               \'userid, COUNT(*) as
> is_authorized',
> > >      >             ],
> > >      >           }
> > >      >         );
> > >      >
> > >      >
> > >      > should produce "SELECT userid,  COUNT(*)
> as is_authorized FROM
> > user
> > >      > WHERE username=? and password=?".
> Correct?
> > >      >
> > >      >
> > >      > On 11/2/06, *Brandon Black*
> <blblack at gmail.com
> > >     <mailto:blblack at gmail.com>
> > >      > <mailto:blblack at gmail.com
> <mailto:blblack at gmail.com>>> wrote:
> > >      >
> > >      >     On 11/2/06, John Napiorkowski <
> jjn1056 at yahoo.com
> > >     <mailto:jjn1056 at yahoo.com>
> > >      >     <mailto:jjn1056 at yahoo.com
> <mailto:jjn1056 at yahoo.com>>> wrote:
> > >      >      > Hi,
> > >      >      >
> > >      >      > Not sure if I am doing this
> correctly.  I am trying to
> > >      >      > order a result by the count of
> something but the 'as'
> > >      >      > parameter doesn't seem to do what
> I think it should
> > >      >      > do:
> > >      >
> > >      >     [...]
> > >      >
> > >      >      > Can anyone spot what I am doing
> wrong here?
> > >      >
> > >      >     From:
> > >      >
> > >
> >
>
http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/ResultSet.pm#as
> :
> > >      >
> > >      >     Please note: This will NOT insert an
> AS employee_count into
> > >     the SQL
> > >      >     statement produced, it is used for
> internal access only. Thus
> > >      >     attempting to use the accessor in an
> order_by clause or
> > >     similar will
> > >      >     fail miserably.
> > >      >
> > >      >     To get around this limitation, you
> can supply literal SQL to
> > >     your
> > >      >     select attibute that contains the AS
> alias text, eg:
> > >      >
> > >      >       select => [\'myfield AS alias']
> > >      >
> > >      >     -- Brandon
> > >      >
> > >      >    
> _______________________________________________
> > >      >     List:
> > >    
>
http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
> > >      >     Wiki:
> http://dbix-class.shadowcatsystems.co.uk/
> > >      >    
> <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/dbix-class@lists.rawmode.org/
> > >      >
> > >      >
> > >      >
> > >      >
> > >      > --
> > >      > timorperfectus.com
> <http://timorperfectus.com>
> > >     <http://timorperfectus.com
> <http://timorperfectus.com>> - web design
> > to
> > >      > frightening perfection.
> > >      >
> > >      >
> > >      > One last song
> > >      > Given to an Angel's Son
> > >      > As soon as you were gone
> > >      > As soon as you were gone
> > >      >
> > >      >
> > >      >
> > >
> >
>
------------------------------------------------------------------------
> > >
> > >      >
> > >      >
> _______________________________________________
> > >      > 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/
> > >    
>
<http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/>
> > >      > Searchable Archive:
> > >    
>
http://www.mail-archive.com/dbix-class@lists.rawmode.org/
> > >
> > >    
> _______________________________________________
> > >     List:
>
http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
> > >     Wiki:
> http://dbix-class.shadowcatsystems.co.uk/
> > >     <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/dbix-class@lists.rawmode.org/
> > >
> > >
> > >
> > >
> > > --
> > > timorperfectus.com <http://timorperfectus.com> -
> web design to
> > > frightening perfection.
> > >
> > >
> > > One last song
> > > Given to an Angel's Son
> > > As soon as you were gone
> > > As soon as you were gone
> > >
> > >
> > >
>
------------------------------------------------------------------------
> > >
> > > _______________________________________________
> > > 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/dbix-class@lists.rawmode.org/
> >
> > _______________________________________________
> > 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/dbix-class@lists.rawmode.org/
> >
> 
> 
> 
> -- 
> timorperfectus.com - web design to frightening
> perfection.
> 
> 
> One last song
> Given to an Angel's Son
> As soon as you were gone
> As soon as you were gone
> > _______________________________________________
> 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/dbix-class@lists.rawmode.org/



 
____________________________________________________________________________________
Cheap Talk? Check out Yahoo! Messenger's low PC-to-Phone call rates 
(http://voice.yahoo.com)




More information about the Dbix-class mailing list