Thanks for the tip Ronald, works like nicely.
Cheers, Roland From: Ronald J Kimball [mailto:[email protected]] Sent: 14 September 2011 16:59 To: The elegant MVC web framework Subject: Re: [Catalyst] RE: DBIC <-> JSON conversion for AJAX On Wed, Sep 14, 2011 at 11:44 AM, Roland Philibert <[email protected]> wrote: I did try what you suggest as per: sub thing_GET { my ($self, $c) = @_; $self->status_ok( $c, entity => $rs = $c->model('DB::data)->search({},{result_class => 'DBIx::Class::ResultClass::HashRefInflator',})->all ); } ...but the json rest object was showing just the number of row retrieved ie: {"rest":80} That is not quite what Ian suggested. Scalar assignment (i.e. $rs =) provides scalar context to the right-hand side, so you're calling all() in scalar context, so you get the number of elements. Also, the assignment to $rs is misleading, as you're not actually assigning a ResultSet object to it, but rather the result of calling ->all() on a ResultSet. Try one of these approaches instead, which all do the same thing in slightly different ways. Ian's original suggestion: @arr = $c->model('DB::data)->search({},{result_class => 'DBIx::Class::ResultClass::HashRefInflator',}); ... entity => \@arr ... or, with an anonymous array instead of a temporary array variable: ... entity => [$c->model('DB::data)->search({},{result_class => 'DBIx::Class::ResultClass::HashRefInflator',})] ... or, assigning the ResultSet to $rs first: $rs = $c->model('DB::data)->search({},{result_class => 'DBIx::Class::ResultClass::HashRefInflator',}); ... entity => [$rs->all], ... Ronald Aptina (UK) Limited, Century Court, Millennium Way, Bracknell, Berkshire, RG12 2XT. Registered in England No. 06570543. This e-mail and any attachments contain confidential information and are solely for the review and use of the intended recipient. If you have received this e-mail in error, please notify the sender and destroy this e-mail and any copies.
_______________________________________________ List: [email protected] Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
