=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
=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