我刚刚开始使用DBx::Class,并开始稍微理解,但它很复杂。
我想叫"recursive_update“,但我无法管理如何使用它。
如果我正确理解文档,我必须将它包含在DBIx::Class::Schema::Loader创建的./My/Schema.pm中。
__PACKAGE__->load_namespaces(default_resultset_class => '+DBIx::Class::ResultSet::RecursiveUpdate');当我想更新数据时,我使用ResultSet和关系。
my $result = $schema->resultset('Table')->find($id});
$result->recursive_update({
'rel_table' => [....),
});不幸的是,我遇到了一个错误:
Can't locate object method "recursive_update" via package My::Schema::Result::Table"我的错在哪里?
发布于 2022-10-17 05:58:14
必须在recursive_update对象上调用ResultSet对象,而不是结果对象。
您可能想要向结果基类中添加一个助手方法(如果您已经有一个其他的创建方法,因为它对许多事情都有意义),它会将ResultSet限制在被调用的结果对象上,并在其上调用recursive_update。
https://stackoverflow.com/questions/74090103
复制相似问题