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

# DBIx::Class::Manual::ResultClass(3pm)

Representing a single result (row) from a DB query

## NAME

DBIx::Class::Manual::ResultClass - Representing a single result (row) from a DB query

## SYNOPSIS

```
  package My::Schema::Result::Track;
  use parent 'DBIx::Class::Core';
  __PACKAGE__->table('tracks');
  __PACKAGE__->add_columns({
    id => {
      data_type => 'int',
      is_auto_increment => 1,
    },
    cd_id => {
      data_type => 'int',
    },
    title => {
      data_type => 'varchar',
      size => 50,
    },
    rank => {
      data_type => 'int',
      is_nullable => 1,
    },
  });
  __PACKAGE__->set_primary_key('id');
  __PACKAGE__->add_unique_constraint(u_title => ['cd_id', 'title']);
```

## DESCRIPTION

In DBIx::Class, a user normally receives query results as instances of a certain `"Result Class"`, depending on the main query source.  Besides being the primary "toolset" for interaction with your data, a `"Result Class"` also serves to establish source metadata, which is then used during initialization of your DBIx::Class::Schema instance.

Because of these multiple seemingly conflicting purposes, it is hard to aggregate the documentation of various methods available on a typical `"Result Class"`. This document serves as a general overview of `"Result Class"` declaration best practices, and offers an index of the available methods (and the Components/Roles which provide them).

## INHERITED METHODS

- DBIx::Class::Relationship

  has\_many, has\_one, might\_have, belongs\_to, many\_to\_many

- DBIx::Class::Relationship::Base

  register\_relationship, count\_related, create\_related, delete\_related, find\_or\_create\_related, find\_or\_new\_related, find\_related, new\_related, related\_resultset, search\_related, search\_related\_rs, set\_from\_related, update\_from\_related, update\_or\_create\_related

- DBIx::Class::InflateColumn

  get\_inflated\_column, inflate\_column, set\_inflated\_column, store\_inflated\_column

- DBIx::Class::PK

  ID, id, ident\_condition

- DBIx::Class::Row

  delete, update, copy, discard\_changes, get\_column, get\_columns, get\_dirty\_columns, get\_from\_storage, get\_inflated\_columns, has\_column\_loaded, in\_storage, inflate\_result, insert, insert\_or\_update, is\_changed, is\_column\_changed, make\_column\_dirty, new, register\_column, result\_source, set\_column, set\_columns, set\_inflated\_columns, store\_column, throw\_exception, update\_or\_insert

- DBIx::Class::ResultSourceProxy::Table

  table, table\_class

- DBIx::Class::ResultSource

  add\_column, add\_columns, add\_relationship, add\_unique\_constraint, add\_unique\_constraints, column\_info, column\_info\_from\_storage, columns, columns\_info, has\_column, has\_relationship, primary\_columns, relationship\_info, relationships, remove\_column, remove\_columns, result\_class, resultset\_attributes, resultset\_class, sequence, set\_primary\_key, source\_info, source\_name, unique\_constraint\_columns, unique\_constraint\_names, unique\_constraints

## FURTHER QUESTIONS?

Check the list of additional DBIC resources.

## COPYRIGHT AND LICENSE

This module is free software copyright by the DBIx::Class (DBIC) authors. You can redistribute it and/or modify it under the same terms as the DBIx::Class library.
