holding the foreign key. If $cond is not given, the relname is used as
the column name.
+If the relationship is optional - ie the column containing the foreign
+key can be NULL - then the belongs_to relationship does the right
+thing - so in the example above C<$obj->author> would return C<undef>.
+However in this case you would probably want to set the C<join_type>
+attribute so that a C<LEFT JOIN> is done, which makes complex
+resultsets involving C<join> or C<prefetch> operations work correctly.
+The modified declaration is shown below:-
+
+ # in a Book class (where Author has many Books)
+ __PACKAGE__->belongs_to(author => 'My::DBIC::Schema::Author',
+ 'author', {join_type => 'left'});
+
+
Cascading deletes are off per default on a C<belongs_to> relationship, to turn
them on, pass C<< cascade_delete => 1 >> in the $attr hashref.
table, and from the link table to the end table must already exist, these
relation names are then used in the many_to_many call.
-=head3 Created accessors
-
-=head4 $rel
-
- my $role_rs = $actor->roles;
-
- my $role1 = $actor->roles({ name => 'role1' })->first;
-
-Returns a resultset for the table on the far-right side of the many-to-many
-relationship. (e.g., in the above example, a CD's producers).
-
-=head4 add_to_$rel
-
- my $role = $schema->resultset('Role')->find(1);
- $actor->add_to_roles($role);
- # creates a My::DBIC::Schema::ActorRoles linking table row object
-
- $actor->add_to_roles({ name => 'role1' });
- # creates a new My::DBIC::Schema::Role row object, as well as the
- # linking table object
-
-Adds a linking table object for the specified object, or if a hash is given
-instead the related object is created before the linking table object is
-created.
-
-=head4 remove_from_$rel
-
- my $role = $schema->resultset('Role')->find(1);
- $actor->remove_from_roles($role);
- # removes $role's My::DBIC::Schema::ActorRoles linking table row object
-
-Removes the link between the current object and the related object. Note that
-the related object itself won't be deleted unless you call ->delete() on
-it. This method just removes the link between the two objects.
-
=cut
1;