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

标签 perl dbix-class

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

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

但是我该如何做相反的事情,并从数据库中的表名中获取类名?

最佳答案

使用 $schema->sources 获取模式中所有源名称的列表。然后你可以 grep 匹配你的表的那个:

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

关于perl - 如何在 DBIx::Class 中获取表的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22438377/

相关文章:

regex - 是否应该一直使用原子组来加速失败?

perl - WWW::Curl 无法在 POST 正文中附加 WWW::Curl::Form 数据

perl - 删除被 SpamAssassin 标记为垃圾邮件的电子邮件的最直接方法是什么?

regex - 如何测试以查看字符串是否只是 perl 中的空格

mysql - 带有 DISTINCT 和 WHERE 子句的简单 DBIx::Class 查询

perl - DBIx::Class 连接生成大量的 select 语句

perl - Perl 中的 RSA key

sql - 如何从 Perl DBIx::Class 文件生成 SQL 模式?

perl - DBIx::Class 包装/重载列访问器

perl - 更改 DBIx 类结果类的继承树?