[Dbix-class] Multiple ands in where clause

Dennis Daupert ddaupert at gmail.com
Fri May 28 19:57:07 GMT 2010

I need to '-and' a varying number of variables in a
where clause in my application. I've tried building
sets of search terms in an array, so that I can
iterate through the array to try various queries,
but haven't so far been able to find the correct
format. The idea is to find one result in a list
by trying variables A and B, but if that search
gets more than one result, then try variables
A and B and C, and so on.

I've tried code iterations like the following :

my @search_strings =3D (
'{ \'like\', "%$Term1%" }',
'{ \'like\', "%$Term1%" },{ \'like\', "%$Term2%" }',

So that I can do something like this:

foreach my $search_string ( @search_strings ) {
  $rs =3D $schema->resultset('IncOpcode')->search({
      desc =3D> [ -and =3D> $search_string
  $rs_count =3D $rs->count;
  next SEARCHSTRING if $rs_count > 1;

  if ( $rs_count =3D=3D 1 ) {
    # do stuff


The format in $search_string is wrong. I get 0 hits.
What is the correct format to do this?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20100528/88d=

More information about the DBIx-Class mailing list