[Catalyst] iterating ResultSet in controller vs. template
Michael Reece
mreece at vinq.com
Tue Jun 19 19:47:22 GMT 2007
i believe you are getting an array-ref because you are calling it in
list context via the [ ... ] here.
my $myalums = [ $c->model('MyDB::Alumni')->search({}, { rows =>
20 }) ] ;
try:
my $myalums_iter = $c->model('MyDB::Alumni')->search({}, { rows
=> 20 });
while (my $alum = $myalums_iter->next) { ... }
On Jun 19, 2007, at 11:16 AM, John Goulah wrote:
>
>
> On 6/19/07, John Napiorkowski <jjn1056 at yahoo.com> wrote:
>
> --- John Goulah <jgoulah at gmail.com> wrote:
>
> > If I do something simple like this:
> >
> > my $myalums = [
> > $c->model('MyDB::Alumni')->search({}, { rows => 20
> > })
> > ] ;
> >
> > and stash it:
> > $c->stash->{alumni} = $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 = $myalums->next) {
> > $c->log->debug("id: ". $alum->alumni_id);
> > }
>
> Because ->next isn't a method on an array reference.
> You could try derefing via @$myalumns.
>
>
> I have tried a few things here. I can get this to work:
>
>
> for my $element (@{$myalums}) {
> $c->log->debug("alum:". $element->alumni_id);
> }
>
>
> but not :
>
> while (my $alum = @{$myalums}->next) {
> $c->log->debug("id: ". $alum->alumni_id);
> }
>
> In this case I get:
> Can't call method "next" without a package or object reference
>
>
> I'm assuming I'm just doing something obviously wrong here?
>
> Thanks!
> John
>
>
>
>
>
>
> _______________________________________________
> List: Catalyst at lists.rawmode.org
> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/
> catalyst at lists.rawmode.org/
> Dev site: http://dev.catalyst.perl.org/
---
michael reece :: software engineer :: mreece at vinq.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20070619/7c55e81e/attachment.htm
More information about the Catalyst
mailing list