DBIx::Custom::Model

简介

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了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容