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

Lee Standen nom at standen.id.au
Fri Nov 3 01:43:48 GMT 2006


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>> wrote:
> 
>     On 11/2/06, John Napiorkowski <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> - 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/



More information about the Dbix-class mailing list