On 6/4/07, Jonathan Vanasco <[EMAIL PROTECTED]> wrote:
> is there a convenient way to get a setter for a relationship?

Yes, and it works the same way as for columns.  Like columns,
relationships and foreign keys have N named method types created on
their behalf.  Examples of method type names are get, get_set,
get_set_on_save, find, count, etc.  There are default method type
lists, but users can alter the list by adding and removing types on a
per-relationship basis.

You can ask any metadata object that makes methods for the name of the
method of a given type by calling the method_name() method.  For
example, the column->accessor_method_name implementation is really
just:

    return $column->method_name('get') || $column->method_name('get_set')

http://search.cpan.org/dist/Rose-DB-Object/lib/Rose/DB/Object/Metadata/Column.pm#accessor_method_name

http://search.cpan.org/dist/Rose-DB-Object/lib/Rose/DB/Object/Metadata/Column.pm#method_name

So, to get a "getter" for a relationship, call:

    $rel->method_name('...') || $rel->method_name('...') || ...

where the "..." parts are the method type names in your order of preference.

http://search.cpan.org/dist/Rose-DB-Object/lib/Rose/DB/Object/Metadata/Relationship.pm#method_name

See the relationship docs for the list of supported method types.

-John

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Rose-db-object mailing list
Rose-db-object@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rose-db-object

Reply via email to