我剛開始使用 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"
我的錯在哪里?
uj5u.com熱心網友回復:
recursive_update必須在 ResultSet 物件上呼叫,而不是在 Result 物件上呼叫。
您可能希望向您的 Result 基類添加一個輔助方法(如果您已經有其他方法創建它,因為這對許多事情都有意義),它將 ResultSet 限制為呼叫它并呼叫recursive_update它的 Result 物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516893.html
