X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FResultSet.pm;h=329723568022049ff68491cf4e2a9e382d64457c;hb=dd417d064c7b003f1a6ba924045c79045ce0b515;hp=db8d56df1e8146f7087ff6f38cc35a18d9454049;hpb=0200ec9a0bc45cd04f19cb59bf2e67f51d674734;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/ResultSet.pm b/lib/DBIx/Class/ResultSet.pm index db8d56d..3297235 100644 --- a/lib/DBIx/Class/ResultSet.pm +++ b/lib/DBIx/Class/ResultSet.pm @@ -86,9 +86,10 @@ sub _construct_object { $new = $self->{class}->_row_to_object(\@cols, \@main); PRE: foreach my $pre (@{$self->{attrs}{prefetch}}) { my $rel_obj = $self->{class}->_relationships->{$pre}; - my @pre_cols = $rel_obj->{class}->columns; + my $pre_class = $self->{class}->resolve_class($rel_obj->{class}); + my @pre_cols = $pre_class->_select_columns; my @vals = splice(@row, 0, scalar @pre_cols); - my $fetched = $rel_obj->{class}->_row_to_object(\@pre_cols, \@vals); + my $fetched = $pre_class->_row_to_object(\@pre_cols, \@vals); $self->{class}->throw("No accessor for prefetched $pre") unless defined $rel_obj->{attrs}{accessor}; if ($rel_obj->{attrs}{accessor} eq 'single') {