Class::DBI::Cascade::None(3pm) User Contributed Perl Documentation Class::DBI::Cascade::None(3pm)
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 v5.32.0 2020-12-28 Class::DBI::Cascade::None(3pm)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-10-23 17:42 @216.73.216.110 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)