fix a couple mistakes in last commit
[dbsrgits/DBIx-Class-Historic.git] / lib / DBIx / Class / ResultSource.pm
index 5c9d657..e8b1b96 100644 (file)
@@ -547,7 +547,6 @@ in the supplied relationships. Examples:
 sub resolve_prefetch {
   my ($self, $pre, $alias, $seen, $order, $collapse) = @_;
   $seen ||= {};
-  use Data::Dumper;
   #$alias ||= $self->name;
   #warn $alias, Dumper $pre;
   if( ref $pre eq 'ARRAY' ) {
@@ -586,7 +585,12 @@ sub resolve_prefetch {
       my @key = map { (/^foreign\.(.*)$/ ? ($1) : ()); }
                     keys %{$rel_info->{cond}};
       $collapse->{"${as_prefix}${pre}"} = \@key;
-      push(@$order, map { "${as}.$_" } (@key, @{$rel_info->{order_by}||[]}));
+      my @ord = (ref($rel_info->{attrs}{order_by}) eq 'ARRAY'
+                   ? @{$rel_info->{attrs}{order_by}}
+                   : (defined $rel_info->{attrs}{order_by}
+                       ? ($rel_info->{attrs}{order_by})
+                       : ()));
+      push(@$order, map { "${as}.$_" } (@key, @ord));
     }
 
     return map { [ "${as}.$_", "${as_prefix}${pre}.$_", ] }