スキーマに親子関係があります。非常によく似たコードを使用して、既存の親を変更し、新しい親を作成したいと思います。編集ケースは子供を見つけるのが簡単です:
my $parent = $resultset->find($parent_id);
my @children = $parent->children->all
ただし、新しいケースでは、何か奇妙なことが起こります。
my $parent = $resultset->new_result({});
my @children = $parent->children->all;
私は@children
空でなければならないと思っていましたが、代わりに親に関係なくすべての子供を取り戻しました。
私はこのようなことをすることができます(関連するレコードアクセサーごとに、vomit):
sub children {
my $self = shift;
my $res = $self->next::method(@_);
my $parent_no = $self->get_column('parent_no');
defined $parent_no ? $res : $res->search({1 => 2});
}
上記はそうではないので、これを行う正しい方法を教えてください。
バージョン: 0.08010、これはDebian Lennyが持っているもの(および本番サーバーが実行しているもの)だからです