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

FreeBSD Manual Pages

  
 
  

home | help
DBIx::Class::Schema::LUserrContributedIPerClass::Schema::Loader::RelBuilder(3)

NAME
       DBIx::Class::Schema::Loader::RelBuilder - Builds	relationships for
       DBIx::Class::Schema::Loader

SYNOPSIS
       See DBIx::Class::Schema::Loader and DBIx::Class::Schema::Loader::Base.

DESCRIPTION
       This class builds relationships for DBIx::Class::Schema::Loader.	 This
       is module is not	(yet) for external use.

METHODS
   new
       Arguments: $loader object

   generate_code
       Arguments:

	   [
	       [ local_moniker1	(scalar), fk_info1 (arrayref), uniq_info1 (arrayref) ]
	       [ local_moniker2	(scalar), fk_info2 (arrayref), uniq_info2 (arrayref) ]
	       ...
	   ]

       This generates the code for the relationships of	each table.

       "local_moniker" is the moniker name of the table	which had the
       REFERENCES statements.  The fk_info arrayref's contents should take the
       form:

	   [
	       {
		   local_table	  => 'some_table',
		   local_moniker  => 'SomeTable',
		   local_columns  => [ 'col2', 'col3' ],
		   remote_table	  => 'another_table_moniker',
		   remote_moniker => 'AnotherTableMoniker',
		   remote_columns => [ 'col5', 'col7' ],
	       },
	       {
		   local_table	  => 'some_other_table',
		   local_moniker  => 'SomeOtherTable',
		   local_columns  => [ 'col1', 'col4' ],
		   remote_table	  => 'yet_another_table_moniker',
		   remote_moniker => 'YetAnotherTableMoniker',
		   remote_columns => [ 'col1', 'col2' ],
	       },
	       # ...
	   ],

       The uniq_info arrayref's	contents should	take the form:

	   [
	       [
		   uniq_constraint_name		=> [ 'col1', 'col2' ],
	       ],
	       [
		   another_uniq_constraint_name	=> [ 'col1', 'col2' ],
	       ],
	   ],

       This method will	return the generated relationships as a	hashref	keyed
       on the class names.  The	values are arrayrefs of	hashes containing
       method name and arguments, like so:

	   {
	       'Some::Source::Class' =>	[
		   { method => 'belongs_to', arguments => [
		     'col1', 'Another::Source::Class' ]	},
		   { method => 'has_many', arguments =>	[
		     'anothers', 'Yet::Another::Source::Class',	'col15'	] },
	       ],
	       'Another::Source::Class'	=> [
		   # ...
	       ],
	       # ...
	   }

AUTHORS
       See "AUTHORS" in	DBIx::Class::Schema::Loader.

LICENSE
       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.1			  20DBIx::Class::Schema::Loader::RelBuilder(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | AUTHORS | LICENSE

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

home | help