| DBIx-Custom documentation | view source | Contained in the DBIx-Custom distribution. |
DBIx::Custom::Model - Model
use DBIx::Custom::Table;
my $table = DBIx::Custom::Model->new(table => 'books');
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
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.
newmy $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.
| DBIx-Custom documentation | view source | Contained in the DBIx-Custom distribution. |