Perl Diver 2.33
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

Class::DBI::Cascade::None

Name Class::DBI::Cascade::None
Version
Located at /usr/share/perl5
File /usr/share/perl5/Class/DBI/Cascade/None.pm
Is Core No
Search CPAN for this module Class::DBI::Cascade::None
Documentation Class::DBI::Cascade::None
Module Details Class::DBI::Cascade::None

NAME

Class::DBI::Cascade::None - Do nothing upon deletion


DESCRIPTION

This is a Cascading Delete strategy that will do nothing, leaving orphaned records behind.

It is the base class for most ofther Cascade strategies, and so provides several important methods:


CONSTRUCTOR

new

        my $strategy = Cascade::Class->new($Relationship);

This must be instantiated with a Class::DBI::Relationship object.


METHODS

foreign_for

        my $iterator = $strategy->foreign_for($obj);

This will return all the objects which are foreign to $obj across the relationship. It's a normal Class::DBI search you can get the results either as a list or as an iterator.

cascade

        $strategy->cascade($obj);

Cascade across the related objects to $obj.


WRITING NEW STRATEGIES

Creating a Cascade strategy should be fairly simple. You usually just need to inherit from here, and then supply a cascade() method that does the required thing with the results from foreign_for().

So, for example, Cascade::Delete is implemented simply as:

        package Class::DBI::Cascade::Delete;
        use base 'Class::DBI::Cascade::None';
        sub cascade {
                my ($self, $obj) = @_;
                $self->foreign_for($obj)->delete_all;
        }

Perl Diver brought to you by ScriptSolutions.com © 1997- 2026