如何在DBIx :: Class中获取表的类名

时间:2014-03-16 14:49:40

标签: perl dbix-class

在DBIx :: Class中查找类的表名很简单,就像这样

my $s = DBIx::Class::Schema::Loader->connect('dbi:SQLite:foo.db');
$s->class($class_name)->table;

但我怎么能做相反的事情,并从数据库中的表名中获取类名?

1 个答案:

答案 0 :(得分:7)

使用$schema->sources获取架构中所有源名称的列表。然后你可以找一个与你的桌子匹配的那个:

my ($class_name) = grep { $s->class($_)->table eq $table } $s->sources;