简介
DBIx::Custom::Model模块是DBIx::Custom框架中的模型对象。每个Model对象都对应于一个数据库中的表或视图。
use DBIx::Custom::Model;
my $model = DBIx::Custom::Model->new(table => 'books');
属性
name
my $name = $model->name;
$model = $model->name('book');
DBIx::Custom::Model对象的名称,如果不设置则默认与表名相同。这个名称可用于DBIx::Custom对象中的model方法,用于获取对应名称的 DBIx::Custom::Model对象。
table
my $table = $model->table;
$model = $model->table('book');
表名,指明当前DBIx::Custom::Model对象与数据库中的哪个表相关联。传递给insert,update,update_all,delete,delete_all,select方法使用。
join
my $join = $model->join;
$model = $model->join(
['left outer join company on book.company_id = company.id']
);
join子句,这个值会传递给select方法使用。
dbi
my $dbi = $model->dbi;
$model = $model->dbi($dbi);
DBIx::Custom对象。
bind_type
my $type = $model->bind_type;
$model = $model->bind_type(['image' => DBI::SQL_BLOB]);
数据库中的数据类型,这个值会被用作insert,update,update_all,delete,delete_all,和select方法的bind_type参数选项。
mtime
my $mtime = $model->mtime;
$model = $model->mtime('modified_time');
在数据库表中记录数据更新时间的数据列。传递给update方法使用。
ctime
my $ctime = $model->ctime;
$model = $model->ctime('created_time');
在数据库表中记录数据创建时间的数据列。传递给insert和update方法使用。
primary_key
my $primary_key = $model->primary_key;
$model = $model->primary_key(['id', 'number']);
主键,传递给insert,update,delete,和select方法使用。
方法
DBIx::Custom::Model 继承模块了Object::Simple中的所有方法,并实现了以下方法。
delete
$model->delete(...);
这个方法和DBIx::Custom中的delete方法是完全一样的。只是如果你在自己的DBIx::Custom::Model对象中指定了属性之后,就可以不用再调用方法时指定OPTION了。
delete_all
$model->delete_all(...);
这个方法和DBIx::Custom中的delete_all方法是完全一样的。只是如果你在自己的DBIx::Custom::Model对象中指定了属性之后,就可以不用再调用方法时指定OPTION了。
insert
$model->insert(...);
这个方法和DBIx::Custom中的insert方法是完全一样的。只是如果你在自己的DBIx::Custom::Model对象中指定了属性之后,就可以不用再调用方法时指定OPTION了。
mycolumn
my $column = $self->mycolumn;
my $column = $self->mycolumn(book => ['author', 'title']);
my $column = $self->mycolumn(['author', 'title']);
book.author as author,
book.title as title
为当前DBIx::Custom::Model对象所关联的表创建select语句中的column子句。如果参数中没有传表名,则使用当前DBIx::Custom::Model的table属性。如果参数中没有传列名,则使用当前DBIx::Custom::Model的columns属性。
new
my $model = DBIx::Custom::Model->new;
创建一个DBIx::Custom::Model对象。
select
$model->select(...);
这个方法和DBIx::Custom中的select方法是完全一样的。只是如果你在自己的DBIx::Custom::Model对象中指定了属性之后,就可以不用再调用方法时指定OPTION了。
update
$model->update(...);
这个方法和DBIx::Custom中的update方法是完全一样的。只是如果你在自己的DBIx::Custom::Model对象中指定了属性之后,就可以不用再调用方法时指定OPTION了。
update_all
$model->update_all(...);
这个方法和DBIx::Custom中的update_all方法是完全一样的。只是如果你在自己的DBIx::Custom::Model对象中指定了属性之后,就可以不用再调用方法时指定OPTION了。