HI,<br>我是昨天问过DBIC数据向JSON转换的家伙,在fayland的提示下,开始使用DBIC中包含的的HashRefInflator模块,将结果先转换成hash,然后再用Catalyst::View::JSON转成JSON。<br>可是我发现个问题,如果我用resultset的find方法,如下:DataDumper可以看出得到一个正确的Hash结果,但是如果使用search得到的结果,其中的内容还是object的,很多冗余信息。<br>
大家有遇到这个问题么?<br><br>#! /usr/bin/perl<br>use lib &#39;./&#39;;<br>use CBSDB;<br>use Data::Dumper;<br>use DBIx::Class::ResultClass::HashRefInflator;<br><br>my $dsn=&#39;dbi:mysql:dbStatus;192.168.182.5&#39;;<br>my $user=&#39;dbstatus&#39;;<br>
my $pass=&#39;dbstatus&#39;;<br>my $schema = CBSDB-&gt;connect($dsn,$user,$pass);<br>$schema-&gt;storage-&gt;debug(1);<br><br>my $rs_base_mach = $schema-&gt;resultset(&#39;Base_mach&#39;);<br>$rs_base_mach-&gt;result_class(&#39;DBIx::Class::ResultClass::HashRefInflator&#39;);<br>
#$base_mach = [$rs_base_mach-&gt;search({&#39;me.app&#39; =&gt; &#39;Penguin&#39;},{join=&gt;&#39;mach_group&#39;,prefetch=&gt;&#39;mach_group&#39;})];<br>$base_mach=$rs_base_mach-&gt;find(&#39;<a href="http://172.24.68.93">172.24.68.93</a>&#39;);<br>
print Data::Dumper-&gt;Dumper($base_mach);<br><br>robincui<br>