# Class::DBI::Cascade::None - Do nothing upon deletion - perldoc - [phpMan]

## NAME
    [Class::DBI::Cascade::None](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI%3A%3ACascade%3A%3ANone/markdown) - 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](https://www.chedong.com/phpMan.php/perldoc/Cascade%3A%3AClass/markdown)->new($Relationship);

    This must be instantiated with a [Class::DBI::Relationship](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI%3A%3ARelationship/markdown) 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](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI/markdown) 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](https://www.chedong.com/phpMan.php/perldoc/Cascade%3A%3ADelete/markdown) is implemented simply as:

            package [Class::DBI::Cascade::Delete](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI%3A%3ACascade%3A%3ADelete/markdown);

            use base '[Class::DBI::Cascade::None](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI%3A%3ACascade%3A%3ANone/markdown)';

            sub cascade {
                    my ($self, $obj) = @_;
                    $self->foreign_for($obj)->delete_all;
            }

