cond => $cond,
attrs => $attrs };
$class->_relationships(\%rels);
- #warn %{$f_class->_columns};
- return unless eval { %{$f_class->_columns}; }; # Foreign class not loaded
+ return unless eval { $f_class->can('columns'); }; # Foreign class not loaded
eval { $class->_resolve_join($rel, 'me') };
if ($@) { # If the resolve failed, back out and re-throw the error
if (my $alias = $attrs->{_aliases}{$type}) {
my $class = $attrs->{_classes}{$alias};
$self->throw("Unknown column $field on $class as $alias")
- unless exists $class->_columns->{$field};
+ unless $class->has_column($field);
return join('.', $alias, $field);
} else {
$self->throw( "Unable to resolve type ${type}: only have aliases for ".
unless ($value =~ s/^self\.//) {
$self->throw( "Unable to convert relationship to WHERE clause: invalid value ${value}" );
}
- unless ($self->_columns->{$value}) {
+ unless ($self->has_column($value)) {
$self->throw( "Unable to convert relationship to WHERE clause: no such accessor ${value}" );
}
return $self->get_column($value);
if (my $alias = $attrs->{_aliases}{$type}) {
my $class = $attrs->{_classes}{$alias};
$self->throw("Unknown column $field on $class as $alias")
- unless exists $class->_columns->{$field};
+ unless $class->has_column($field);
return join('.', $alias, $field);
} else {
$self->throw( "Unable to resolve type ${type}: only have aliases for ".