NAME
ClearPress::model - a base class for the data-model of the ClearPress MVC family
VERSION
$LastChangedRevision: 12 $
SYNOPSIS
use strict;
use warning;
use base qw(ClearPress::model);
__PACKAGE__->mk_accessors(__PACKAGE__->fields());
sub fields { return qw(...); }
DESCRIPTION
SUBROUTINES/METHODS
fields
my @aFields = $oSelf->fields();
my @aFields = __PACKAGE__->fields();
primary_key - usually the first element of fields();
my $sPrimaryKey = $oSelf->fields();
table - database table name this class represents
my $sTableName = $oSelf->table();
init - post-constructor hook, called by new();
new - Constructor
my $oInstance = ClearPress::model::subclass->new();
util - ClearPress::util object
my $oUtil = ClearPress::model::subclass->util();
my $oUtil = $oInstance->util();
get - generic 'get' accessor, derived from Class::Accessor.
Invokes $self->read() if necessary.
my $sFieldValue = $oSelf->get($sFieldName);
gen_getarray - Arrayref of objects of a given type for a given database query
my $arObjects = $oInstance->gen_getarray('ClearPress::model::subclass',
q(SELECT a,b,c FROM x,y WHERE x.d=? AND y.e=?),
@bind_params);
gen_getall - Arrayref of all objects of type (ref $self) or a given class
my $arObjects = $self->gen_getall();
my $arObjects = $self->gen_getall('ClearPress::otherclass');
gen_getobj - An object of a given class based on the value of the primary key in that class equalling the value in the same field-name in this object.
my $oObj = $self->gen_getobj('application::model::name');
create - Generic INSERT into database
$oSelf->create();
read - Generic lazy-load from the database
$oSelf->load();
update - Generic UPDATE into database against primary_key
$oSelf->update();
delete - Generic delete from database
$oSelf->delete();
save - Generic save object to database
$oSelf->save();
DIAGNOSTICS
CONFIGURATION AND ENVIRONMENT
DEPENDENCIES
Class::Accessor ClearPress::util English Carp
INCOMPATIBILITIES
BUGS AND LIMITATIONS
AUTHOR
Roger Pettett, <rpettett@cpan.org>
LICENSE AND COPYRIGHT
Copyright (C) 2007 Roger Pettett
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.