我有一个包含许多表的数据库,这些表的结构相同并具有相同的列名。
表格1 col1 col2 col3 表 2 col1 col2 col3
等等。
我正在尝试学习如何在这种类型的设置中使用 DBIx::Class 和 Catalyst。
通常我有一个像这样的子程序:
sub query{
my($table) = @_;
$sql = "SELECT col1 FROM $table;";
$qh=$connect->prepare($sql) or die print $DBI::errstr;
$qh->execute() or die print $DBI::errstr;
}
...得到结果等等
我可以想到如何从控制器中做到这一点。
my $table = "DB::Table1";
my $result = $c->model($table)->create({col1 => $col1, col2=>$col2});
没关系。但是如何编写结果和结果集呢?我不想写很多,在一个实例中,数十个 ResultSets 本质上是相同的,只是在不同的表上。
有没有办法编写一个将表作为参数并基于此进行查询的 ResultSet?我试图编写一个“全局”结果集,但得到一个错误,即没有具有该名称的结果。
是否可以通过这种设置使用 DBIx::Class?
提前致谢。