---
name: "Class::DBI::Cascade::None"
section: "3pm"
platform: "linux"
package: "libclass-dbi-perl"
version: "3.0.17-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Class::DBI::Cascade::None"
---

# Class::DBI::Cascade::None(3pm)

Do nothing upon deletion

## 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;
        }
```
