Query: class::dbi::cascade::none
OS: debian
Section: 3pm
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
Class::DBI::Cascade::None(3pm) User Contributed Perl Documentation Class::DBI::Cascade::None(3pm)NAMEClass::DBI::Cascade::None - Do nothing upon deletionDESCRIPTIONThis 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:CONSTRUCTORnew my $strategy = Cascade::Class->new($Relationship); This must be instantiated with a Class::DBI::Relationship object.METHODSforeign_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 STRATEGIESCreating 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.12.4 2005-09-14 Class::DBI::Cascade::None(3pm)
Similar Topics in the Unix Linux Community |
---|
awk command not woking |
perl: fetchall_arrayref() question |
Executing DB2 command without using the DBI module |
Perl DBI error |
Restrict remote DB connection from PERL |