ede*_*dem 2 perl resultset dbix-class
从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' });
Run Code Online (Sandbox Code Playgroud)
有人可以解释对象和ResultSet之间的区别是什么?
警告是关于调用newResultSet 对象和ResultSet 类名之间的区别.如果要使用ResultSet构造函数创建新的ResultSet对象,请调用newResultSet包:
my $resultset = DBIx::Class::ResultSet->new(...);
Run Code Online (Sandbox Code Playgroud)
(虽然您通常不必以这种方式创建ResultSet对象.)如果调用newResultSet对象,则不会获得新的ResultSet对象,而是获取相应的结果(行)对象:
my $row = $resultset->new(...);
Run Code Online (Sandbox Code Playgroud)
许多其他Perl类无论new是在类名还是类的对象上调用都没有区别,因此警告.