GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
DBIx::Class::IntrospectableM2M(3) User Contributed Perl Documentation DBIx::Class::IntrospectableM2M(3)

DBIx::Class::IntrospectableM2M - Introspect many-to-many shortcuts

In your DBIx::Class Result class (sometimes erroneously referred to as the 'table' class):

  __PACKAGE__->load_components(qw/IntrospectableM2M ... Core/);

  #Digest encoder with hex format and SHA-1 algorithm
  __PACKAGE__->many_to_many(roles => user_roles => 'role);

When you want to introspect this data

   my $metadata = $result_class->_m2m_metadata->{roles};
   #  $metadata->{accessor} method name e.g. 'roles'
   #  $metadata->{relation} maping relation e.g. 'user_roles'
   #  $metadata->{foreign_relation} far-side relation e.g. 'role
   #  $metadata->{attrs}  relationship attributes, if any
   # Convenience methods created by DBIx::Class
   #  $metadata->{rs_method}     'roles_rs'
   #  $metadata->{add_method}    'add_to_roles',
   #  $metadata->{set_method}    'set_roles',
   #  $metadata->{remove_method} 'remove_from_roles'

Note: The component needs to be loaded before Core.

This module is fairly esoteric and, unless you are dynamically creating something out of a DBIC Schema, is probably the wrong solution for whatever it is you are trying to do. Please be advised that compatibility is not guaranteed for DBIx::Class 0.09000+. We will try to manitain all compatibility, but internal changes might make it impossible.

Because the many-to-many relationships are not real relationships, they can not be introspected with DBIx::Class. Many-to-many relationships are actually just a collection of convenience methods installed to bridge two relationships. This DBIx::Class component can be used to store all relevant information about these non-relationships so they can later be introspected and examined.

Extended to store all relevant information in the "_m2m_metadata" HASH ref.

Accessor to a HASH ref where the keys are the names of m2m relationships and the value is a HASH ref as described in the SYNOPSIS.

Guillermo Roditi (groditi) <groditi@cpan.org>

Copyright (C) 2008 by Guillermo Roditi

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

2015-05-27 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.