文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Class::DBI文档翻译(1)

Class::DBI文档翻译(1)

时间:2005-11-01  来源:含笑汉

决定这几天抽空把Class::DBI模块的文档给翻译一下,自己也好好的学习一下

模块

使用举例


模块

Class::DBI -----简单数据库抽象

使用举例

package Music::DBI;

use base 'Class::DBI';

Music::DBI->set_db('Main', 'dbi:mysql:dbname', 'username', 'password');

package Music::Artist;

use base 'Music::DBI';

Music::Artist->table('artist');

Music::Artist->columns(All => qw/artistid name/);

Music::Artist->has_many(cds => 'Music::CD');

package Music::CD;

use base 'Music::DBI';

Music::CD->table('cd');

Music::CD->columns(All => qw/cdid artist title year/);

Music::CD->has_many(tracks => 'Music::Track');

Music::CD->has_a(artist => 'Music::Artist');

Music::CD->has_a(reldate => 'Time::Piece',

inflate => sub { Time::Piece->strptime(shift, "%Y-%m-%d") },

deflate => 'ymd',

);

Music::CD->might_have(liner_notes => LinerNotes => qw/notes/);

package Music::Track;

use base 'Music::DBI';

Music::Track->table('track');

Music::Track->columns(All => qw/trackid cd position title/);

#-- Meanwhile, in a nearby piece of code! --#

my $artist = Music::Artist->create({ artistid => 1, name => 'U2' });

my $cd = $artist->add_to_cds({

cdid => 1,

title => 'October',

year => 1980,

});

# Oops, got it wrong.

$cd->year(1981);

$cd->update;

# etc.

foreach my $track ($cd->tracks) {

print $track->position, $track->title

}

$cd->delete; # also deletes the tracks

my $cd = Music::CD->retrieve(1);

my @cds = Music::CD->retrieve_all;

my @cds = Music::CD->search(year => 1980);

my @cds = Music::CD->search_like(title => 'October%');
相关阅读 更多 +
排行榜 更多 +
地狱摩托游戏最新版下载

地狱摩托游戏最新版下载

赛车竞速 下载
小猫快来钓鱼游戏下载

小猫快来钓鱼游戏下载

休闲益智 下载
殴打氪金大佬昊天手游下载

殴打氪金大佬昊天手游下载

休闲益智 下载