Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Relationship(3)	      User Contributed Perl Documentation      Relationship(3)

NAME
       Class::DBI::Loader::Relationship	- Easier relationship specification in
       CDBI::Loader

SYNOPSIS
	 use Class::DBI::Loader::Relationship;

	 my $loader = Class::DBI::Loader->new( dsn => "mysql:beerdb",
					       namespace => "BeerDB");

       Now instead of saying

	   BeerDB::Brewery->has_many(beers => "BeerDB::Beer");
	   BeerDB::Beer->has_a(brewery => "BeerDB::Brewery");

	   BeerDB::Handpump->has_a(beer	=> "BeerDB::Beer");
	   BeerDB::Handpump->has_a(pub => "BeerDB::Pub");
	   BeerDB::Pub->has_many(beers => [ BeerDB::Handpump =>	'beer' ]);
	   BeerDB::Beer->has_many(pubs => [ BeerDB::Handpump =>	'pub' ]);

       Just say

	   $loader->relationship( "a brewery produces beers" );
	   $loader->relationship( "a pub has beers on handpumps" );

       And something like ( upgraded in	v1.3 )

	   MyApp::Page->has_a( author => 'MyApp::User' );
	   MyApp::Page->has_many( revisions => 'MyApp::PageRevision' );

       Just say

	   $loader->relationship( "a page has an user as author" );
	   $loader->relationship( "a page has many page_revisions as revisions"	);

DESCRIPTION
       This module acts	as a mix-in, adding the	"relationship" method to
       "Class::DBI::Loader". Since "Class::DBI::Loader"	knows how to map
       between table names and class names, there ought	to be no need to
       replicate the names.

       In addition, it is common (but not universal) to	want reverse
       relationships defined for has-many relationships, and for has-a
       relationships to	be defined for the linkages surrounding	a many-to-many
       table.

       The aim of "CDBIL::Relationship"	is to simplify the declaration of
       common database relationships by	providing both of these	features.

       The "relationship" takes	a string. It recognises	table names (singular
       or plural, for convenience) and extracts	them from the "sentence".

AUTHOR
       Simon Cozens, "simon@cpan.org"

       Chunzi, "chunzi@perlchina.org"

SEE ALSO
       Class::DBI::Loader.

perl v5.32.1			  2005-11-09		       Relationship(3)

NAME | SYNOPSIS | DESCRIPTION | AUTHOR | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Class::DBI::Loader::Relationship&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help