- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 DBIx::Class 的新手。我将它用于 API 以从我的数据库中重新调整数据,我想用 DBIC 重新创建一个 SELECT * FROM 表。有了 DBI,它对我来说效果很好。
返回数据“漂亮”的最佳方法是什么?
我想以哈希数组的形式返回数据,例如:
[
{
id => 123,
name => 'name',
....
}
]
但是使用 my @rs = $schema->resultset('Product')->all;返回\@rs;
。我没有得到我想要的输出。在使用 Data::Dumper 检查对象时,我得到以下信息:
$VAR1 = bless( {
'_column_data' => {
'name' => 'test',
'id' => 123'
},
'_result_source' => $VAR1->{'_result_source'},
'_in_storage' => 1
}, 'DB::Schema::Result::Product' );
我确定我误解了 DBIC 的概念。
我怎样才能只获取所有列的数据?谢谢大家的帮助!
最佳答案
Data::Dumper 只是泄露了数据结构的内容。这是 DB::Schema::Result::Product 对象的核心,它表示 Product 表的一行。
如果你想要一个对象的漂亮输出,你需要向对象询问。您可以调用DBIx::Class::Row他们的方法。如果您只需要对象中的行数据,请使用 get_columns
或 get_inflated_columns
.它们返回一个哈希值,因此您需要引用。
my @rows = map { my %h = $_->get_columns; \%h } @rs;
关于Perl如何使用DBIx::Class漂亮的返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64162667/
我在应用程序中使用 DBIx::Simple 和 SQL::Abstract。这是数据库连接代码: my $nms_host = 'mysql.server.com'; my $nms_base
我正在为应用程序使用 Catalyst,并准备将生产版本升级到下一个主要版本。在新版本中,对数据库进行了大量更改。 Catalyst 中的 ORM 是使用物理开发数据库中的 DBIx::Class::
除了使用 View 并手动写出SQL之外,我没有找到与DBIx::Class进行联合的方法。这对我来说似乎很奇怪。我觉得应该有某种方法来合并两个ResultSet,而无需进行很多额外的工作,因为集加法
我在 Dancer2 项目中使用 DBIx::Class 与 MySQL 数据库对话。在该项目中,我有一个 ClassInfo 结果集,我可以毫无问题地从中进行选择、搜索、删除和更新。 但是,每当我尝
我正在使用DBIx::Class并且只想更新表中的一行。目前我是这样做的: my $session = my_app->model("DB::Session")->find(1); $sessi
我最近从事一个 Perl 项目,该项目要求我使用 DBIx::Class 作为 ORM 来与数据库交互。我发现最烦人且最耗时的一件事就是尝试调试和了解正在发生的事情。 我对 Column 'XXXXX
从数据库读取的访问权限已通过返回结果集而不是表或 View 的 mssql 存储过程授予我。但我希望能够使用 ORM 读取数据。 我尝试使用 DBIx::Class::ResultSource::Vi
在下面的这个例子中: my $rs = $schema->resultset('CD')->search( { 'artist.name' => 'Bob Marley' 'liner_not
这是三个表:product , model , 和 product_model以 N:M 关系映射产品和模型。 product product_model mo
在 C#/.Net 世界中,有诸如 NHibernate 或 ActiveRecord 之类的 ORM 包含透明缓存:数据库更新被透明地复制到缓存,对象在可用时直接从缓存中检索等(通常使用 memca
我正在尝试在我的应用程序中实现结果集链接。 以下是我的结果集类中的一些方法: package Schema::ResultSet::Category; use base 'DBIx::Class::R
我正在使用 DBIx::Class我有两个模式: use utf8; package MyApp::Schema::Result::Person; use Moose; use MooseX::Non
是否可以将列添加到 DBIx::Class::Row 对象,这些列是虚拟的,因为它们不会保存到数据库中?我正在寻找 Rose::DB::Object 通过其非持久列 http://search.cpa
我在这上面花了太多时间,但仍然无法使语法正常工作。 在 DBIx::Class 中可以使用这个 select 语句吗? "SELECT A.id, A.name, count(C.a_id) AS c
节日, 我正在使用 DBIx::Class 0.07003 和 DBIx::Class::Schema::Loader 0.03009 并且我正在尝试更改 Loader 生成的类的基类 - 从: pa
我有两个 MySQL 表 humans 和 dogs: TABLE humans: id int, name varchar(32) TABLE dogs id int, human int, dea
我正在尝试使用 MySQL 跟随本教程: https://metacpan.org/pod/DBIx::Class::Migration::Tutorial::FirstMigration 我正在运行
我正在尝试使用 DBIx::Class 编写以下 SQL 查询: SELECT * FROM (SELECT username, DENSE_RANK () OVER (ORDER BY COUNT(
我有一个直接在 MySQL 中运行良好的 SQL 查询,但我正在努力将其转换为通过 DBIx::Class 使用,我在此处简化了查询 UPDATE table1, table2 SET tab
我正在尝试使用 DBIx::Class::Schema::Loader 为 Catalyst 创建模型。我希望结果类有一个基类,我可以向其添加方法。所以 MyTable.pm 继承自 Base.pm,
我是一名优秀的程序员,十分优秀!