NAME
Apache::MVC::Model::Base - Base class for model classes
DESCRIPTION
Anyone subclassing this for a different database abstraction mechanism needs to provide the following methods:
do_edit
If there is an object in $r->objects
, then it should be edited with the parameters in $r->params
; otherwise, a new object should be created with those parameters, and put back into $r->objects
. The template should be changed to view
, or edit
if there were any errors. A hash of errors will be passed to the template.
retrieve
This turns an ID into an object of the appropriate class.
adopt
This is called on an model class representing a table and allows the master model class to do any set-up required.
related
This can go either in the master model class or in the individual classes, and returns a list of has-many accessors. A brewery has many beers, so BeerDB::Brewery
needs to return beers
.
columns
This is a list of the columns in a table.
table
This is the name of the table.
Commands
See the exported commands in Apache::MVC::Model::CDBI
.
Other overrides
Additionally, individual derived model classes may want to override the following methods:
column_names
Return a hash mapping column names with human-readable equivalents.
description
A description of the class to be passed to the template.