NAME
DBICx::Modeler - A Moose-based model layer over DBIx::Class
VERSION
Version 0.005
SYNOPSIS
# Given the following schema:
My::Schema::Artist
My::Schema::Cd
My::Schema::Track
# ... and the following model:
My::Model::Artist
My::Model::Cd ...
My::Model::Track ...
...
my
$modeler
= DBICx::Modeler->new(
schema
=> ...,
namespace
=> My::Model );
my
$artist
=
$modeler
->create(
Artist
=> { ... } )
# $artist is My::Model::Artist
my
$cd
=
$artist
->create_related(
cds
=> { ... } )
# $cd is My::Model::Cd
...
my
$search
=
$artist
->cds( {
title
=> ... } )
# Start a search ...
$search
->search( { ... } )
# Refine the search ...
my
@cds
=
$search
->slice( 0, 9 )
# Get the first 10
# Each is of type My::Model::Cd
DESCRIPTION
DBICx::Modeler is tool for making a thin, Moose-based model layer over a DBIx::Class schema
CAVEAT EMPTOR
Many-to-many is not handled
Many-to-many relationships are ignored, for now. You'll have to access _model__storage
(which is the DBIx::Class::Row) if you want to play with them
The same storage object can be present in different model objects
# With the following example:
$artist
->cds( ... )->slice( 0 )->artist
# $artist and ->artist are different objects
This shouldn't be too difficult to fix.
The modeler will probably barf when trying to modify immutable Model:: classes
This shouldn't be too difficult to fix, either.
Use DBIC_MODELER
to trace modeler setup
Set DBIC_MODELER
to 1 if you want to trace what is going on in the modeler internally
$ENV
{DBIC_MODELER} = 1
METHODS
DBICx::Modeler->new( ... )
schema The connected DBIx::Class schema to
use
/inspect
$modeler->model( <moniker> )
Return the model source
for
<moniker>
$modeler->create( <moniker> => ... )
Create a new row
for
<moniker> and
return
the modeled object
$modeler->search( <moniker> => ... )
Make a search of <moniker> that will inflate into modeled objects
AUTHOR
Robert Krimen, <rkrimen at cpan.org>
BUGS
Please report any bugs or feature requests to bug-dbicx-modeler at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DBICx-Modeler. 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 DBICx::Modeler
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
Copyright 2009 Robert Krimen, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.