X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FResultSet.pm;h=f5b65d269af984604e734da24d8d36f46b248400;hb=8222f722a1ee2a6d466f80e2fe9db9640a91edbe;hp=d2cee9a799b10a2923ab309eabb803c971e9507e;hpb=b25e9fa0e642e100b461592dbf52c668377a5a70;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/ResultSet.pm b/lib/DBIx/Class/ResultSet.pm index d2cee9a..f5b65d2 100644 --- a/lib/DBIx/Class/ResultSet.pm +++ b/lib/DBIx/Class/ResultSet.pm @@ -350,11 +350,13 @@ sub find { my (%related, $info); - foreach my $key (keys %$input_query) { + KEY: foreach my $key (keys %$input_query) { if (ref($input_query->{$key}) && ($info = $self->result_source->relationship_info($key))) { + my $val = delete $input_query->{$key}; + next KEY if (ref($val) eq 'ARRAY'); # has_many for multi_create my $rel_q = $self->result_source->resolve_condition( - $info->{cond}, delete $input_query->{$key}, $key + $info->{cond}, $val, $key ); die "Can't handle OR join condition in find" if ref($rel_q) eq 'ARRAY'; @related{keys %$rel_q} = values %$rel_q; @@ -826,8 +828,6 @@ sub _collapse_result { } ); - # THIS BIT STILL NEEDS TO DO THE COLLAPSE - my $alias = $self->{attrs}{alias}; my $info = [];