【发布时间】:2021-01-17 14:33:30
【问题描述】:
我是 DBIx::Class 的新手。我将它用于 API 以从我的数据库中重新调整数据,我想用 DBIC 重新创建一个 SELECT * FROM 表。使用 DBI 对我来说效果很好。
返回“漂亮”数据的最佳方法是什么?
我想以哈希数组的形式返回数据,例如:
[
{
id => 123,
name => 'name',
....
}
]
但是my @rs = $schema->resultset('Product')->all; return \@rs;。我没有得到我想要的输出。
在使用 Data::Dumper 检查对象时,我得到以下信息:
$VAR1 = bless( {
'_column_data' => {
'name' => 'test',
'id' => 123'
},
'_result_source' => $VAR1->{'_result_source'},
'_in_storage' => 1
}, 'DB::Schema::Result::Product' );
我确定我误解了 DBIC 的概念。
如何仅获取所有列的数据?谢谢大家的帮助!
【问题讨论】:
-
对象的重点在于它们提供功能(方法)以及数据(属性),希望以有组织和经过深思熟虑的方法集的形式。因此,您通常会浏览文档以找到满足您需要的方法。
-
DBIx::Class::ResultSet::HashRef 在 DBIC ResultSet 对象之上提供了一个薄层,可以方便地将数据输出为 Perl 数据结构。
标签: perl dbi dbix-class