许多表DBIx :: class的一个结果集

时间:2012-09-04 11:52:02

标签: sql catalyst dbix-class

我有一个包含许多表的数据库,这些表的结构相同且列名相同。

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?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我建议您编写一个应用于每个ResultSet类的Moose角色。