1
我有一個數據庫,其中有許多表結構相同並具有相同列名的表。許多表的一個結果集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});
這很好。但是寫結果和結果集呢?我不想寫很多,在一個實例中,幾十個ResultSets基本上是在不同的表上相同的東西。
有沒有什麼辦法可以編寫一個ResultSet,它將一個表作爲參數並根據這個參數進行查詢?我試圖編寫一個'Global'ResultSet,但是得到一個錯誤,那個名字沒有結果。
是否有可能使用DBIx :: Class這種設置?
在此先感謝。
謝謝。我花了一些時間閱讀Moose角色,並發現了這篇文章[鏈接](http://www.catalystframework.org/calendar/2010/22)。我認爲這讓我走向了正確的方向。 – user1646040