DBIx::Custom::Model

作者: JSON_NULL | 来源:发表于2017-12-06 18:28 被阅读7次

简介

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

相关文章

  • DBIx::Custom::Model

    简介 DBIx::Custom::Model模块是DBIx::Custom框架中的模型对象。每个Model对象都对...

  • DBIx::Custom::Mapper

    简介 DBIx::Custom::Mapper模块是DBIx::Custom框架的参数映射器。 属性 param ...

  • DBIx::Custom

    简介 DBIx::Custom是一个DBI的包装器,此模块具有以下功能: 可以更容易的执行insert、updat...

  • DBIx::Custom::Result

    简介 DBIx::Custom::Result模块是对 select 语句查询结果的封装。 属性 dbi DBIx...

  • DBIx::Custom::Order

    简介 DBIx::Custom::Order模块主要用于为查询生成order子句。 属性 dbi DBIx::Cu...

  • DBIx::Custom::Where

    简介 属性 clause 一个数组引用,存储where子中的所有where项,用于在调用to_string方法时生...

  • SQL之DBIx::Custom

    说明 写这篇文章的目的只是因为自己要用这个模块,在CPAN和Github上面有详细的介绍说明以及使用方式,但是每次...

  • DBIx::Custom框架实践方法

    简介 本文旨在说明在实际的软件开发过程中如何使用DBIx::Custom框架完成对数据库的操作。 扩展last_i...

  • 产品必读:Kano模型全面介绍(E文超长)

    *The Complete Guide to the Kano Model Prioritizing Custom...

  • 常用代码(待更新)

    Model Custom Renderer BindableStackLayout 查看已有的fontName O...

网友评论

    本文标题:DBIx::Custom::Model

    本文链接:https://www.haomeiwen.com/subject/ivelixtx.html