[Catalyst] iterating ResultSet in controller vs. template
Yuval Kogman
nothingmuch at woobling.org
Tue Jun 19 22:22:29 GMT 2007
On Tue, Jun 19, 2007 at 12:58:10 -0400, John Goulah wrote:
If you do this:
> my $myalums = $c->model('MyDB::Alumni')->search({}, { rows => 20 }) ;
Then change this:
> [% FOREACH alum IN alumni -%]
Into this:
[% FOREACH alum IN alumni.all -%]
This gives you two big advantages IMHO:
1. you can put resultset on the stash without paying for them
with an SQL query. If the view chooses not to use this resultset
(due to user prefs, feed variant, whatever) then the DB is never
queried. This is easier to maintain and comes at a small
performance overhead in comparison to making these decisions in
the controller.
2. subsequent actions can further filter the data set, or use it
to create related resultsets. This encourages code reuse.
--
Yuval Kogman <nothingmuch at woobling.org>
http://nothingmuch.woobling.org 0xEBD27418
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.scsys.co.uk/pipermail/catalyst/attachments/20070620/72ad9d83/attachment.pgp
More information about the Catalyst
mailing list