Scroll to navigation

DBIx::Class::ResultSetColumn(3pm) User Contributed Perl Documentation DBIx::Class::ResultSetColumn(3pm)

NAME

  DBIx::Class::ResultSetColumn - helpful methods for messing
  with a single column of the resultset

SYNOPSIS

  $rs = $schema->resultset('CD')->search({ artist => 'Tool' });
  $rs_column = $rs->get_column('year');
  $max_year = $rs_column->max; #returns latest year

DESCRIPTION

A convenience class used to perform operations on a specific column of a resultset.

METHODS

new

  my $obj = DBIx::Class::ResultSetColumn->new($rs, $column);

Creates a new resultset column object from the resultset and column passed as params. Used internally by "get_column" in DBIx::Class::ResultSet.

as_query

Returns the SQL query and bind vars associated with the invocant.

This is generally used as the RHS for a subquery.

next

Returns the next value of the column in the resultset (or "undef" if there is none).

Much like "next" in DBIx::Class::ResultSet but just returning the one value.

all

Returns all values of the column in the resultset (or "undef" if there are none).

Much like "all" in DBIx::Class::ResultSet but returns values rather than result objects.

reset

Resets the underlying resultset's cursor, so you can iterate through the elements of the column again.

Much like "reset" in DBIx::Class::ResultSet.

first

Resets the underlying resultset and returns the next value of the column in the resultset (or "undef" if there is none).

Much like "first" in DBIx::Class::ResultSet but just returning the one value.

single

Much like "single" in DBIx::Class::ResultSet fetches one and only one column value using the cursor directly. If additional rows are present a warning is issued before discarding the cursor.

min

  my $first_year = $year_col->min();

Wrapper for ->func. Returns the lowest value of the column in the resultset (or "undef" if there are none).

min_rs

  my $rs = $year_col->min_rs();

Wrapper for ->func_rs for function MIN().

max

  my $last_year = $year_col->max();

Wrapper for ->func. Returns the highest value of the column in the resultset (or "undef" if there are none).

max_rs

  my $rs = $year_col->max_rs();

Wrapper for ->func_rs for function MAX().

sum

  my $total = $prices_col->sum();

Wrapper for ->func. Returns the sum of all the values in the column of the resultset. Use on varchar-like columns at your own risk.

sum_rs

  my $rs = $year_col->sum_rs();

Wrapper for ->func_rs for function SUM().

func

  $rs = $schema->resultset("CD")->search({});
  $length = $rs->get_column('title')->func('LENGTH');

Runs a query using the function on the column and returns the value. Produces the following SQL:

  SELECT LENGTH( title ) FROM cd me

func_rs

Creates the resultset that "func()" uses to run its query.

throw_exception

See "throw_exception" in DBIx::Class::Schema for details.

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.

2022-05-21 perl v5.34.0