配列またはハッシュを使用して Rose::DB::Object クエリ文字列を記述しようとしていますが、その方法がわかりません。配列に列挙されているリスト内の特定の ID に基づいて更新関数を作成しようとしています。残念ながら、クエリを作成するためにフィルタリングする一意のキーが他にないため、特定の ID をクエリする必要があります。
基本的に、私はプログラムで次のように書こうとしています:
my $list = My::DB::Manager->get_items(query => [
{id => 1},
{id => 14},
{id => 210},
{id => 1102},
{id => 3151},
]);
これは私がこれまでに持っているコードですが、私がやろうとしていることをうまく達成できませんでした:
use My::DB::Manager;
my @ary;
foreach (@_) {
my %col = ("id", $_);
push (@ary, \%col);
}
my $list = My::DB::Manager->get_items(query => \@ary);
...
./test.pl
これで、スクリプトは無期限に出力なしでハングします。
このスクリプトは 60 秒ごとに cron を介して実行され、大きなセットを返す可能性があるため、DB::Manager を反復処理してレコードごとに DB 呼び出しを行うことを避けようとしています。