--- /dev/null
+package DBIx::Class::Relationship::Helpers;
+
+use strict;
+use warnings;
+
+use base qw/DBIx::Class/;
+
+__PACKAGE__->load_components(qw/
+ Relationship::HasMany
+ Relationship::HasOne
+ Relationship::BelongsTo
+ Relationship::ManyToMany
+/);
+
+1;
--- /dev/null
+package DBIx::Class::Relationship::ManyToMany;
+
+use strict;
+use warnings;
+
+sub many_to_many {
+ my ($class, $meth, $rel_class, $f_class) = @_;
+
+ eval "require $f_class";
+
+ {
+ no strict 'refs';
+ no warnings 'redefine';
+ *{"${class}::${meth}"} =
+ sub { shift->search_related($rel_class)->search_related($f_class, @_); };
+ }
+}
+
+1;