On 26/09/15 19:25, Kadir Beyazlı wrote:
Hi Dave,
On Sat, Sep 26, 2015 at 12:11 PM, Dave Cross <[email protected]
<mailto:[email protected]>> wrote:
>
>
> On 25/09/15 19:40, Richard Reina wrote:
>>
>> I display a hash reference in a template. It works well but is there a
>> way I can sort it by SNAME instead of ID?
>>
>> <ul class="list-group fancy-list-items"> <!-- <ul
>> class="list-group checked-list-box"> -->
>> <table style="width:100%">
>> <% FOREACH ID IN Pats.keys.sort %>
>> <tr class="list-group-item">
>> <td width="70"><% Pats.$ID.SNAME %></td>
>> <td width="75"><% Pats.$ID.ANAME %></td>
>> <td width="35"><% Pats.$ID.SSN %></td>
>> <td width="35"><% Pats.$ID.YR %></td>
>> <td width="250"><% Pats.$ID.CHNAME %></td>
>> <td width="550"><% Pats.$ID.DESCRIP %></td>
>> <% END %>
>> </tr>
>> </ul>
>> </table>
>
>
> It looks like you have a hash of hashes. Is that correct?
>
> Anyway, you can pass "sort" the name of the key that you want sort on.
[KB] This is a very common problem asked previously and no solution
found. It was advised to use array ref instead of hashref at previous
mails. Now I tried your offer and see that it does not work. Values are
unordered again.
Damn, yes. There were a couple of typos in my solution. I didn't have
time to test it. Sorry about that.
Of course, I can't be sure until I know what your data structure really
looks like, but this demonstrates a solution for the data structure that
seems to make most sense.
[% Pats = {
id1 => {
ID => 'id1',
SNAME => 'ZZZ',
ANAME => 'aname1',
},
id2 => {
ID => 'id2',
SNAME => 'XXX',
ANAME => 'aname2',
},
id3 => {
ID => 'id3',
SNAME => 'YYY',
ANAME => 'aname3',
}
} -%]
Original:
[% FOREACH id IN Pats.keys.sort -%]
[% id %] / [% Pats.$id.SNAME %] / [% Pats.$id.ANAME %]
[% END -%]
New:
[% FOREACH Pat IN Pats.values.sort('SNAME') -%]
[% Pat.ID %] / [% Pat.SNAME %] / [% Pat.ANAME %]
[% END -%]
Cheers,
Dave...
_______________________________________________
dancer-users mailing list
[email protected]
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users