gpt4 book ai didi

perl - 从 DBIx::Class 中的 has_many 关系中检索数据

转载 作者:行者123 更新时间:2023-12-02 02:32:07 26 4
gpt4 key购买 nike

给出两个表的简单情况 - Term 和 Definition - 其中 Term has_many Definitions 和 Definition belongs_to Term,所有术语和相应的定义都将被获取并显示不知何故。

这是我到目前为止的想法:

my $terms= $schema->resultset('Term')->search(undef, {  
prefetch => 'definitions',
});

while (my $term = $terms->next) {
my @terms;
push @terms, $term->term;

my $definitions = $term->definitions;
my @definitions;
while (my $definition = $definitions->next) {
push @definitions, $definitions;
}
...
}

它完成了工作,但我想知道是否可以采用不同的、不那么笨拙的方法。

最佳答案

my $terms= $schema->resultset('Term')->search(undef, {  
prefetch => 'definitions',
});

my @terms = $terms->all;

my @definitions = map $_->definitions->all, @terms;

这看起来像您正在尝试做的;我真的不知道。您创建一个新数组,插入它,然后让它超出范围这一事实根本没有任何意义。无论如何,如果我理解正确的话,您想要的只是 DBIx::Class::ResultSet 中的 all 方法。

关于perl - 从 DBIx::Class 中的 has_many 关系中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3330663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com