The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DBIx::Class::Relationship - Inter-table relationships

SYNOPSIS

DESCRIPTION

This class handles relationships between the tables in your database model. It allows your to set up relationships, and to perform joins on searches.

METHODS

add_relationship
  __PACKAGE__->add_relationship('relname', 'Foreign::Class', $cond, $attrs);

The condition needs to be an SQL::Abstract-style representation of the join between the tables - for example if you're creating a rel from Foo to Bar

  { 'foreign.foo_id' => 'self.id' }

will result in a JOIN clause like

  foo me JOIN bar bar ON bar.foo_id = me.id
  My::Table->search_related('relname', $cond, $attrs);
  My::Table->count_related('relname', $cond, $attrs);
  My::Table->create_related('relname', \%col_data);
  My::Table->new_related('relname', \%col_data);
  My::Table->find_related('relname', @pri_vals | \%pri_vals);
  My::Table->find_or_create_related('relname', \%col_data);
  My::Table->set_from_related('relname', $rel_obj);
  My::Table->update_from_related('relname', $rel_obj);
  My::Table->delete_related('relname', $cond, $attrs);

AUTHORS

Matt S. Trout <mst@shadowcatsystems.co.uk>

LICENSE

You may distribute this code under the same terms as Perl itself.