}
delete $attrs->{$key};
}
-# use Data::Dumper; warn "merge old to new: " . Dumper($our_attrs);
+
if (exists $our_attrs->{prefetch}) {
$our_attrs->{join} = $self->_merge_attr($our_attrs->{join}, $our_attrs->{prefetch}, 1);
}
-# use Data::Dumper; warn "merge prefetch: " . Dumper($our_attrs);
my $new_attrs = { %{$our_attrs}, %{$attrs} };
}
$select = { count => { distinct => \@distinct } };
- #use Data::Dumper; die Dumper $select;
}
$attrs->{select} = $select;
sub run_tests {
my $schema = shift;
-plan tests => 2;
+plan tests => ;
my $rs1 = $schema->resultset("Artist")->search({ 'tags.tag' => 'Blue' }, { join => {'cds' => 'tracks'}, prefetch => {'cds' => 'tags'} });
my @artists = $rs1->all;
my $rs3 = $rs2->search_related('cds')->search({'cds.title' => 'Forkful of bees'});
cmp_ok($rs3->count, '==', 3, "Three artists returned");
+my $rs4 = $schema->resultset("CD")->search({ 'artist.artistid' => '1' }, { join => ['tracks', 'artist'], prefetch => 'artist' });
+my @rs4_results = $rs4->all;
+
+
+is(@rs4_results[0]->cdid, 1, "correct artist returned");
+
+my $rs5 = $rs4->search({'tracks.title' => 'Sticky Honey'});
+is($rs5->count, 1, "search without using previous joins okay");
+
}
+
1;