X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FRelationship%2FBase.pm;h=8409165c83a5f091757718b0b2ea0023fdab600b;hb=4d3a827d3c6009bbea3e08175dde81a0e4d96474;hp=9797b7c2b3523921c9534bf9330c8c4d7aaf7021;hpb=35ae601901c0fa43f5a5ec69d1834b84caf86323;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Relationship/Base.pm b/lib/DBIx/Class/Relationship/Base.pm index 9797b7c..8409165 100644 --- a/lib/DBIx/Class/Relationship/Base.pm +++ b/lib/DBIx/Class/Relationship/Base.pm @@ -410,7 +410,7 @@ B relationships.> =over 4 -=item Arguments: (@hashrefs | @objs) +=item Arguments: (\@hashrefs | \@objs) =back @@ -418,18 +418,22 @@ B relationships.> my @roles = $schema->resultset('Role')->search({ role => { '-in' -> ['Fred', 'Barney'] } } ); - $actor->set_roles(@roles); - # Replaces all of $actors previous roles with the two named + $actor->set_roles(\@roles); + # Replaces all of $actor's previous roles with the two named -Replace all the related objects with the given list of objects. This does a -C B to remove the association between the -current object and all related objects, then calls C repeatedly to -link all the new objects. +Replace all the related objects with the given reference to a list of +objects. This does a C B to remove the +association between the current object and all related objects, then calls +C repeatedly to link all the new objects. Note that this means that this method will B delete any objects in the table on the right side of the relation, merely that it will delete the link between them. +Due to a mistake in the original implementation of this method, it will also +accept a list of objects or hash references. This is B and will be +removed in a future version. + =head2 remove_from_$rel B relationships.>