From: Jess Robinson Date: Mon, 2 Jun 2008 18:46:12 +0000 (+0000) Subject: I suck, should read code while doccing it, not assume someone else got it right! X-Git-Tag: v0.08240~432 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e951858e3c499abf50e7bbe7e1d4e57460825511;p=dbsrgits%2FDBIx-Class.git I suck, should read code while doccing it, not assume someone else got it right! --- diff --git a/lib/DBIx/Class/Relationship.pm b/lib/DBIx/Class/Relationship.pm index d159cc4..39c0d12 100644 --- a/lib/DBIx/Class/Relationship.pm +++ b/lib/DBIx/Class/Relationship.pm @@ -222,12 +222,13 @@ methods and valid relationship attributes. =back -Creates a one-to-many relationship, where the corresponding elements of the -foreign class store the calling class's primary key in one (or more) of its -columns. This relationship defaults to using C<$accessor_name> as the foreign -key in C<$related_class> to resolve the join, unless C<$foreign_key_column> -specifies the foreign key column in C<$related_class> or C specifies a -reference to a join condition hash. +Creates a one-to-many relationship, where the corresponding elements +of the foreign class store the calling class's primary key in one (or +more) of its columns. This relationship defaults to using the end of +this classes namespace as the foreign key in C<$related_class> to +resolve the join, unless C<$foreign_key_column> specifies the foreign +key column in C<$related_class> or C specifies a reference to a +join condition hash. =over @@ -273,25 +274,27 @@ OR condition. =back # in an Author class (where Author has_many Books) + # assuming related class is storing our PK in "author_id" My::DBIC::Schema::Author->has_many( books => 'My::DBIC::Schema::Book', 'author_id' ); - # OR (same result, assuming related_class is storing our PK) + # OR (same result) My::DBIC::Schema::Author->has_many( books => 'My::DBIC::Schema::Book', + { 'foreign.author_id' => 'self.id' }, ); - - # OR (same result) + + # OR (similar result, assuming related_class is storing our PK, in "author") + # (the "author" is guessed at from "Author" in the class namespace) My::DBIC::Schema::Author->has_many( books => 'My::DBIC::Schema::Book', - { 'foreign.author_id' => 'self.id' }, ); - + # Usage # resultset of Books belonging to author