X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FRelationship.pm;h=9420ab713c8672967ac89facad8523f8bfba2063;hb=3bd6e3e0f621c4fe3d7562827a9b86ee5b91cbf2;hp=dd3616678624c25c1273d0a57097ef843869fe15;hpb=303cf522b1c2841ecab3056cfbb4314fa05151a2;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Relationship.pm b/lib/DBIx/Class/Relationship.pm index dd36166..9420ab7 100644 --- a/lib/DBIx/Class/Relationship.pm +++ b/lib/DBIx/Class/Relationship.pm @@ -216,29 +216,50 @@ relation names are then used in the many_to_many call. =head4 $rel +=over 4 + +=item Arguments: $vals?, $attrs + +=back + 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). +Returns a resultset for the foreign table on the right side of the +many-to-many relationship. (e.g., in the above example, a CD's +producers). Takes the same arguments as L. =head4 add_to_$rel +=over 4 + +=item Arguments: ($foreign_vals | $obj), $link_vals? + +=back + 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 + $actor->add_to_roles({ name => 'lead' }, { salary => 15_000_000 }); + # creates a new My::DBIC::Schema::Role row object and the linking table + # object with an extra column in the link -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. +Adds a linking table object for C<$obj> or C<$foreign_vals>. If the first +argument is a hash reference, the related object is created first with the +column values in the hash. If an object reference is given, just the linking +table object is created. In either case, any additional column values for the +linking table object can be specified in C<$link_vals>. =head4 remove_from_$rel +=over 4 + +=item Arguments: $obj + +=back + my $role = $schema->resultset('Role')->find(1); $actor->remove_from_roles($role); # removes $role's My::DBIC::Schema::ActorRoles linking table row object