在DBIx :: Class中查找类的表名很简单,就像这样
my $s = DBIx::Class::Schema::Loader->connect('dbi:SQLite:foo.db');
$s->class($class_name)->table;
但我怎么能做相反的事情,并从数据库中的表名中获取类名?
答案 0 :(得分:7)
使用$schema->sources
获取架构中所有源名称的列表。然后你可以找一个与你的桌子匹配的那个:
my ($class_name) = grep { $s->class($_)->table eq $table } $s->sources;