[dancer-users] Template Toolkit Sort Hash
Richard Reina
gatorreina at gmail.com
Sun Sep 27 16:34:10 BST 2015
> El 27 sept 2015, a las 7:30 AM, Kadir Beyazlı <kadirbeyazli at gmail.com> escribió:
>
> Hi WK,
>
>> On Sun, Sep 27, 2015 at 3:13 PM, WK <wanradt at gmail.com> wrote:
>> 2015-09-27 14:48 GMT+03:00 Kadir Beyazlı <kadirbeyazli at gmail.com>:
>>
>>>> Of course, I can't be sure until I know what your data structure really looks like,
>>> [KB] The data Richard mentioned is a classic fetchall_hashref data as below:
>>>
>>> $Pats = {ID => { SNAME => Value,
>>> CHNAME => Value,
>>> ANAME => Value,
>>> },
>>> ID => { SNAME => Value,
>>> CHNAME => Value,
>>> ANAME => Value,
>>> },
>>> ID => { SNAME => Value,
>>> CHNAME => Value,
>>> ANAME => Value,
>>> }
>>> }
>>
>> When we need those elements be in particular order, sorted by any
>> deeper value in hash tree, there is two main solutions for this goal.
>>
>> First (and best for me). As hash can't maintain an order of elements,
>> you provide different data structure in right order, namely arrayref,
>> something like:
> [KB] I always use array ref if I need to order a database data because
> hash is unordered as you wrote and sort function sorts by key not by
> vaue (At perl code, it also sorts by value) at template toolkit. I
> tried to explain data structure Richard has trouble to Dave because
> Dave wrote a solution
>
> Richard,
>
> I offer you using arrayref at template toolkit too. Template toolkit
> supplies reaching values by table column names unlike perl code (t
> Perl code, we ave to use index to reach array data) which is very
> useful
>> $Pats = [ { 123 => { SNAME => Value,
>> CHNAME => Value,
>> ANAME => Value,
>> } },
>> { 124 => { SNAME => Value,
>> CHNAME => Value,
>> ANAME => Value,
>> } },
>> { 125 => { SNAME => Value,
>> CHNAME => Value,
>> ANAME => Value,
>> }
>> } ];
>>
>> Other variant is to use some helper in your templating system, which
>> provides map/reduce (Schwarzian transform) functionality. So you can
>> feed in your hash and it gives back id-s in specified order.
>>
>> Hope it helps.
>>
>> Wbr,
>> --
>> Kõike hääd,
>>
>> G
>> _______________________________________________
>> dancer-users mailing list
>> dancer-users at dancer.pm
>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
>
>
>
> --
> Kadir Beyazlı
> Computer Engineer
> GSM : +90 535 821 50 00
> _______________________________________________
> dancer-users mailing list
> dancer-users at dancer.pm
> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
I think I am going to try to figure out how to use an array reference instead. Traveling so can't try it until I get back tomorrow.
Thanks for all the replies.
More information about the dancer-users
mailing list