X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FRelBuilder.pm;h=8393f319ca492951e7d6424db4715d06481282e8;hb=023596033b27c52ba85a41181004cf960d84fb75;hp=de3dce198bbe69f830cc458dc30f2358b125edc2;hpb=4591a4fff466d291cb7f597dcf829f87df5852d8;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/RelBuilder.pm b/lib/DBIx/Class/Schema/Loader/RelBuilder.pm index de3dce1..8393f31 100644 --- a/lib/DBIx/Class/Schema/Loader/RelBuilder.pm +++ b/lib/DBIx/Class/Schema/Loader/RelBuilder.pm @@ -18,7 +18,7 @@ use String::ToIdentifier::EN::Unicode (); use Class::Unload (); use Class::Inspector (); -our $VERSION = '0.07036_01'; +our $VERSION = '0.07036_03'; # Glossary: # @@ -514,15 +514,19 @@ sub _generate_m2ms { my $class2 = $rels->[1]{args}[1]; my $class1_to_link_table_rel = first { - $_->{method} =~ /\A(?:has_many|might_have)\z/ && $_->{args}[1] eq $class + $_->{method} eq 'has_many' && $_->{args}[1] eq $class } @{ $all_code->{$class1} }; + next unless $class1_to_link_table_rel; + my $class1_to_link_table_rel_name = $class1_to_link_table_rel->{args}[0]; my $class2_to_link_table_rel = first { - $_->{method} =~ /\A(?:has_many|might_have)\z/ && $_->{args}[1] eq $class + $_->{method} eq 'has_many' && $_->{args}[1] eq $class } @{ $all_code->{$class2} }; + next unless $class2_to_link_table_rel; + my $class2_to_link_table_rel_name = $class2_to_link_table_rel->{args}[0]; my $class1_link_rel = $rels->[1]{args}[0];