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

sim*_*one 8 perl dbix-class

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

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

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

nwe*_*hof 7

使用$schema->sources得到的模式中的所有源名称的列表.然后你可以grep找到与你的表匹配的那个:

my ($class_name) = grep { $s->class($_)->table eq $table } $s->sources;
Run Code Online (Sandbox Code Playgroud)