gpt4 book ai didi

perl - ResultSet 和对象之间有什么区别?

转载 作者:行者123 更新时间:2023-12-04 06:21:24 24 4
gpt4 key购买 nike

来自 DBIx::Class::ResultSet我们读到:

WARNING
If called on an object, proxies to "new_result" instead, so
my $cd = $schema->resultset('CD')->new({ title => 'Spoon' });
will return a CD object, not a ResultSet, and is equivalent to:
my $cd = $schema->resultset('CD')->new_result({ title => 'Spoon' });

有人可以解释一下对象和结果集之间的区别吗?

最佳答案

警告是关于在 ResultSet object 上调用 new 和 ResultSet class name 之间的区别。如果要使用 ResultSet 构造函数创建新的 ResultSet 对象,请在 ResultSet 包上调用 new:

my $resultset = DBIx::Class::ResultSet->new(...);

(虽然您通常不必以这种方式创建 ResultSet 对象。)如果您在 ResultSet 对象上调用 new,您不会得到一个新的 ResultSet 对象,而是一个相应的结果(行)对象:

my $row = $resultset->new(...);

许多其他 Perl 类对 new 是在类名上调用还是在类的对象上调用没有区别,因此出现警告。

关于perl - ResultSet 和对象之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15625575/

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