[Dbix-class] Count + having

RAPPAZ Francois francois.rappaz at unifr.ch
Fri Jan 13 14:35:33 GMT 2017


I'm trying to use count and having 
I have 
Abo a table of rows describing orders (primary key: noabt)
abojrnabt a relationship between this Abo table a Jrnabt table of 2 columns (noabt, nofm)

I would like to know if a specific order has 2 or more corresponding rows in Jrnabt

I'm trying

$schema->resultset('Abo')->search_rs(
                       {
                          'me.noabt' => $value,
                       },
                      {   select => ['me.noabt', {count => 'abojrnabt.noabt'}],
                          as     => [qw/noabt count_abo/],
                          join       => ['abojrnabt'],
                          group_by   => ['noabt'],
                          having => [ { 'count_abo' => { '>' => 1 } } ],
                      },
);
But this fails with
***   DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::mysql::st execute failed: 
       Unknown column 'count_abo' in 'having clause' [for Statement 
       "SELECT me.noabt FROM abo me WHERE ( me.noabt = ? ) GROUP BY noabt HAVING count_abo > ?" with ParamValues: 0="919", 1=1] at ...

Thanks for any suggestion

François



More information about the DBIx-Class mailing list