DBIx::C...tColumn(3)

✨ NAME ✨

Hiii bestie πŸ’– welcome to the DBIx::C...tColumn(3) page from User Contributed Perl Documentation. This is DBIx::Class::ResultSetColumn β€” helpful methods for messing with a single column of the resultset. Slay, that's the whole assignment. πŸŽ€

πŸŽ€ SYNOPSIS πŸŽ€

Okay so picture this, bestie:

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

πŸ’– DESCRIPTION πŸ’–

It's a convenience class used to perform operations on a specific column of a resultset. Lowkey iconic for when you only care about one column, fr fr. ✨

πŸ’… 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 πŸ¦‹

  • Arguments: none
  • Return Value: \[ $sql, @bind_values ]

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

This is generally used as the RHS for a subquery. 🧚

🌸 next 🌸

  • Arguments: none
  • Return Value: $value

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 ⭐

  • Arguments: none
  • Return Value: @values

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. Periodt. 🌈

πŸŽ€ reset πŸŽ€

  • Arguments: none
  • Return Value: $self

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 πŸ’–

  • Arguments: none
  • Return Value: $value

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 🧚

  • Arguments: none
  • Return Value: $value

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. Not me getting warned mid-fetch 😭

🌟 min 🌟

  • Arguments: none
  • Return Value: $lowest_value
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 πŸ¦‹

  • Arguments: none
  • Return Value: $resultset
my $rs = $year_col->min_rs();

Wrapper for ->func_rs for function MIN(). πŸ‘‘

πŸ’œ max πŸ’œ

  • Arguments: none
  • Return Value: $highest_value
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 🌈

  • Arguments: none
  • Return Value: $resultset
my $rs = $year_col->max_rs();

Wrapper for ->func_rs for function MAX(). ✨

πŸŽ€ sum πŸŽ€

  • Arguments: none
  • Return Value: $sum_of_values
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. Like, that's the actual warning, bestie. πŸ’€

🧚 sum_rs 🧚

  • Arguments: none
  • Return Value: $resultset
my $rs = $year_col->sum_rs();

Wrapper for ->func_rs for function SUM(). 🫢

⭐ func ⭐

  • Arguments: $function
  • Return Value: $function_return_value
$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 🌸

  • Arguments: $function
  • Return Value: $resultset

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. πŸ’œ

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.

Sign-off: perl v5.42.0 Β· 2025-01-22 Β· DBIx::C...tColumn(3) β€” bye bestie! πŸ’…πŸŒˆ

πŸ“¦ where this page comes from