X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FRelationship%2FBelongsTo.pm;h=0a0f0dbd2206e297f0364eff6674646ded156f66;hb=dc7d89911b7bb98c30208cf73af522a99998dcd6;hp=a3e7dbc163633c9a07fcfad01848eada785d7145;hpb=ddcc02d14d03169c54c65db9f0f446836483ba55;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Relationship/BelongsTo.pm b/lib/DBIx/Class/Relationship/BelongsTo.pm index a3e7dbc..0a0f0db 100644 --- a/lib/DBIx/Class/Relationship/BelongsTo.pm +++ b/lib/DBIx/Class/Relationship/BelongsTo.pm @@ -6,8 +6,7 @@ package # hide from PAUSE use strict; use warnings; -use Try::Tiny; -use DBIx::Class::_Util 'dbic_internal_try'; +use DBIx::Class::_Util qw( dbic_internal_try dbic_internal_catch ); use namespace::clean; our %_pod_inherit_config = @@ -39,16 +38,16 @@ sub belongs_to { $class->throw_exception( "No such column '$f_key' declared yet on ${class} ($guess)" - ) unless $class->has_column($f_key); + ) unless $class->result_source->has_column($f_key); $class->ensure_class_loaded($f_class); my $f_rsrc = dbic_internal_try { - $f_class->result_source_instance; + $f_class->result_source; } - catch { + dbic_internal_catch { $class->throw_exception( "Foreign class '$f_class' does not seem to be a Result class " - . "(or it simply did not load entirely due to a circular relation chain)" + . "(or it simply did not load entirely due to a circular relation chain): $_" ); }; @@ -81,7 +80,7 @@ sub belongs_to { and (keys %$cond)[0] =~ /^foreign\./ and - $class->has_column($rel) + $class->result_source->has_column($rel) ) ? 'filter' : 'single'; my $fk_columns = ($acc_type eq 'single' and ref $cond eq 'HASH')