In a Symfony2 project I have a controller that retrieves a number of incidents from the database. These incidents have properties like start_time, stop_time, type, etc.
In my view, I want to show these incidents in a table, sorted by start_time. I use Twig for my templating.
I can pre-sort in my controller before passing it to the Twig template, but imho the controller shouldn't care that the view wants it sorted. Maybe another template that I create will want it sorted by type, for example.
Now, is there a way that I can give the collection of incident-objects as-is to the Twig template, and have it sort it for me on the spot?
Maybe with a '| sort' filter, but then with something like a '| property(start_time)' filter in front of it, if you know what I mean :-)
Any advice is welcome, thanks in advance!
There is no way to sort an array by a property with Twig. You still have the
sort filter (described here: http://twig.sensiolabs.org/doc/filters/sort.html) but it will just sort your array like php will do with the
What you can do is create a TwigExtension and implement your own filter. It's very easy and very well documented here: http://twig.sensiolabs.org/doc/advanced.html