我有一个包含许多表的数据库,这些表的结构相同且列名相同。
Table 1 col1 col2 col3 Table 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});
没关系。但是编写结果和结果集怎么样?我不想写很多,在一个实例中,数十个ResultSet只是在另一个表上基本相同。
有没有办法编写一个ResultSet,它将一个表作为参数并根据它进行查询?我试图编写一个'Global'ResultSet,但得到一个错误,即没有带有该名称的结果。
是否可以在这种设置中使用DBIx :: Class?
提前致谢。
答案 0 :(得分:0)
我建议您编写一个应用于每个ResultSet类的Moose角色。