如何修改DBIx :: Class :: Row?

时间:2014-07-09 04:20:01

标签: perl dbix-class

使用DBIx :: Class :: ResultSet是否可以在内存中更改结果?

my @results = $self->search(...);

for my $result (@results) {
  my $row = {$result->get_columns};
  $row->{fieldname} = 'something else';
}

return @results;

2 个答案:

答案 0 :(得分:1)

DBIx :: Class为您定义的每个列生成列访问器。 它既可以作为读者使用

my $value = $row->columnname;

作为作家

$row->columnname('new value');

答案 1 :(得分:-3)

您可以使用以下内容:

my @rows = $self->search(
    {...},
    {result_class => 'DBIx::Class::ResultClass::HashRefInflator'}
);

for my $row (@rows) {
    $row->{fieldname} = 'something else';
}

return @rows;