[Catalyst] iterating ResultSet in controller vs. template

John Goulah jgoulah at gmail.com
Tue Jun 19 17:58:10 GMT 2007


If I do something simple like this:

     my $myalums  =3D [ $c->model('MyDB::Alumni')->search({}, { rows =3D> 2=
0 })
] ;

and stash it:
    $c->stash->{alumni} =3D $myalums;

I am able to iterate in the template like:

   [% FOREACH alum IN alumni -%]
       id: [% alum.alumni_id %]  <br />
   [% END -%]


But if I try to iterate this in the controller, I cannot do something like:

    while (my $alum =3D $myalums->next) {
        $c->log->debug("id: ". $alum->alumni_id);
    }

unless I dont return an anonymous reference like:

    my $myalums  =3D $c->model('MyDB::Alumni')->search({}, { rows =3D> 20 }=
) ;

then the while loop above works fine, but I dont get any output in the
template.  I'd like to be able to use the iteraters, so what am I doing
wrong here?


Thanks!
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20070619/0f68a=
b56/attachment.htm


More information about the Catalyst mailing list