NAME
DBIx::Custom::Model - Model
SYNOPSIS
use DBIx::Custom::Table;
my $table = DBIx::Custom::Model->new(table => 'books');
ATTRIBUTES
dbi
my $dbi = $model->dbi;
$model = $model->dbi($dbi);
DBIx::Custom object.
join
my $join = $model->join;
$model = $model->join(
['left outer join company on book.company_id = company.id']
);
Join clause, this value is passed to select
method.
primary_key
my $primary_key = $model->primary_key;
$model = $model->primary_key(['id', 'number']);
Primary key,this is passed to insert
, update
, delete
, and select
method.
table
my $table = $model->table;
$model = $model->table('book');
Table name, this is passed to select
method.
bind_type
my $type = $model->bind_type;
$model = $model->bind_type(['image' => DBI::SQL_BLOB]);
Database data type, this is used as type optioon of insert
, update
, update_all
, delete
, delete_all
, select
, and execute
method
METHODS
DBIx::Custom::Model inherits all methods from Object::Simple, and you can use all methods of DBIx::Custom and DBI and implements the following new ones.
delete
$table->delete(...);
Same as delete
of DBIx::Custom except that you don't have to specify table
option.
delete_all
$table->delete_all(...);
Same as delete_all
of DBIx::Custom except that you don't have to specify table
option.
insert
$table->insert(...);
Same as insert
of DBIx::Custom except that you don't have to specify table
option.
method
$model->method(
update_or_insert => sub {
my $self = shift;
# ...
},
find_or_create => sub {
my $self = shift;
# ...
);
Register method. These method is called directly from DBIx::Custom::Model object.
$model->update_or_insert;
$model->find_or_create;
mycolumn
my $column = $self->mycolumn;
my $column = $self->mycolumn(book => ['author', 'title']);
my $column = $self->mycolumn(['author', 'title']);
Create column clause for myself. The follwoing column clause is created.
book.author as author,
book.title as title
If table name is ommited, table
attribute of the model is used. If column names is omitted, columns
attribute of the model is used.
new
my $table = DBIx::Custom::Table->new;
Create a DBIx::Custom::Table object.
select
$table->select(...);
Same as select
of DBIx::Custom except that you don't have to specify table
option.
update
$table->update(...);
Same as update
of DBIx::Custom except that you don't have to specify table
option.
update_all
$table->update_all(param => \%param);
Same as update_all
of DBIx::Custom except that you don't have to specify table name.