Я пытаюсь написать строку запроса Rose :: DB :: Object, используя Array или Hash, однако я не уверен, как это сделать. Я пытаюсь написать функцию обновления на основе определенных идентификаторов в списке, которые перечислены в массиве. К сожалению, у меня нет другого уникального ключа для фильтрации при построении запроса, поэтому мне нужно запросить конкретные идентификаторы.
По сути, я пытаюсь программно написать следующее:
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
Теперь скрипт просто зависает без вывода на неопределенный срок.
Я пытаюсь избежать итерации через DB :: Manager и делать вызовы БД для каждой записи отдельно, так как этот скрипт будет запускаться через cron каждые 60 секунд и может возвращать большие наборы.