码神之路:Perl篇

DBIx::Custom::Model

2017-12-06  本文已影响7人  JSON_NULL

简介

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

上一篇 下一篇

猜你喜欢

热点阅读