May be, you want this? items = [ some_resultset_rs.all ];
Without [], if rs have one element, you will have not an array. HTH 2011/4/11 Dave Howorth <[email protected]>: > I'm sure this must be answered somewhere on the web but I haven't been > able to find it. In my templates I produce short lists of items from > resultsets. Up to now I've been using code that looks like > > items = some_resultset_rs ; > IF items.count > 0 ; > '<ul>' ; > WHILE (item = items.next) ; > '<li>' ; item.name ; > END ; > '</ul>' ; > END ; > > However, I've noticed that this produces two database queries, one for > the count and one for the while. I'd like to reduce this to a single > database hit. But all my efforts have broken on the legendary TT array > problem. So I've tried: > > items = some_resultset_rs.all ; > IF items.size > 0; > '<ul>' ; > FOREACH item IN items ; > '<li>' ; item.name ; > END ; > '</ul>' ; > END ; > > and I've tried using items.0.defined but all my attempts work when there > are zero items and when there are two or more items, but fail when there > is just one item. > > Can anybody point me to the best idiom for this please? > > Thanks, Dave > > _______________________________________________ > templates mailing list > [email protected] > http://mail.template-toolkit.org/mailman/listinfo/templates > -- Sincerely yours, Oleg Kostyuk (CUB-UANIC) _______________________________________________ templates mailing list [email protected] http://mail.template-toolkit.org/mailman/listinfo/templates
