---
name: "DBIx::Class::Helper::Row::ProxyResultSetUpdate"
section: "3pm"
platform: "linux"
package: "libdbix-class-helpers-perl"
version: "2.037000-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/DBIx::Class::Helper::Row::ProxyResultSetUpdate"
---

# DBIx::Class::Helper::Row::ProxyResultSetUpdate(3pm)

Efficiently reuse ResultSet updates from results

## NAME

DBIx::Class::Helper::Row::ProxyResultSetUpdate - Efficiently reuse ResultSet updates from results

## SYNOPSIS

ResultSet:

```
 package MyApp::Schema::ResultSet::Foo;
 use parent 'DBIx::Class::ResultSet';
 sub update {
    my ($self, $data) = @_;
    die 'you fool!' if $data->{name} eq 'fool';
    return $self->next::method($data);
 }
```

Result:

```
 package MyApp::Schema::Result::Foo;
 use parent 'DBIx::Class::Core';
 __PACKAGE__->load_components(qw( Helper::Row::ProxyResultSetUpdate ));
 ...
```

or with DBIx::Class::Candy:

```
 package MyApp::Schema::Result::Foo;
 use DBIx::Class::Candy -components => ['Helper::Row::ProxyResultSetMethod'];
 ...
```

## DESCRIPTION

This module makes reusing resultset updates from a result trivially easy. Often the only way that people share update methods is by overriding update in their resultset to use "update\_all" in DBIx::Class::ResultSet.  Unfortunately, that can end up being wildly inefficient.  Instead, if you can write your update in terms of the resultset, you can make your code much faster and more efficient.

## AUTHOR

Arthur Axel "fREW" Schmidt \<frioux+cpan@gmail.com\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by Arthur Axel "fREW" Schmidt.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
