I suck, should read code while doccing it, not assume someone else got it right!
Jess Robinson [Mon, 2 Jun 2008 18:46:12 +0000 (18:46 +0000)]
lib/DBIx/Class/Relationship.pm

index d159cc4..39c0d12 100644 (file)
@@ -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<cond> 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<cond> 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