NAME

DBIx::Class::Result::ColumnData - Result::ColumnData component for DBIx::Class

This module is used to extract column data only from a data object base on DBIx::Class::Core

It defined relationships methods to extract columns data only of relationships

VERSION

Version 0.14

SYNOPSIS

in your DBIx::Class::Core base class declare Result::ColumnData component

Package::Schema::Result::MyClass;

use strict;
use warning;

__PACKAGE__->load_component(qw/ ... Result::DataColumn /);

#Declare here associations before register_relationships_column_data
__PACKAGE__->belongs_to(...);
__PACKAGE__->has_many(...);

__PACKAGE__->register_relationships_column_data();

you will use get_column_data functions on instance of MyClass

$my_class->get_column_data
$my_class->I<relationships>_column_data

you can also hide some columns with parameter hide_field on columns definition

__PACKAGE__->add_columns("field_to_hide", {.... hide_field => 1});

columns_data

columns_data is decrecated, use get_column_data

get_column_data

return only column_data from an object DBIx::Class::Core without hide_field

get_all_column_data

return only column_data from an object DBIx::Class::Core with hide_field

register_relationships_columns_data

register_relationships_columns_data is decrecated, use register_relationships_column_data

register_relationships_column_data

declare functions for each relationship on canva : relationship_column_data which return a hash columns data for a single relationship and an list of hash columns data for multi relationships

Package::Schema::Result::Keyboard->belongs_to( computer => "Package::Schema::Result::Computer", computer_id);
Package::Schema::Result::Keyboard->has_many( keys => "Package::Schema::Result::Key", keyboard_id);

register_relationships_column_data generate instance functions for Keyboard object

$keybord->keys_column_data()

# return 
#     [
#       { id => 1, value => 'A', azerty_position => 1},
#       { id => 2, value => 'B', azerty_position => 25},
#       ....
#     ];

$keybord->cumputer_column_data()

# return 
#    { id => 1, os => 'ubuntu' };

AUTHOR

Nicolas Oudard, <nicolas@oudard.org>

BUGS

Please report any bugs or feature requests to bug-dbix-class-result-columndata at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DBIx-Class-Result-ColumnData. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc DBIx::Class::Result::ColumnData

LICENSE AND COPYRIGHT

Copyright 2010 Nicolas Oudard.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.