The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.15

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.