Я пытаюсь написать фильтр Twig, чтобы иметь возможность сортировать Doctrine ArrayCollection, но возвращаемый массив не отсортирован :(Можете ли вы помочь мне исправить это:расширение Twig для сортировки Doctrine ArrayCollection
class SortExtension extends \Twig_Extension
{
public function getFilters()
{
return array(
new \Twig_SimpleFilter('sortby', array($this, 'sortByFilter')),
);
}
public function sortbyname($a, $b)
{
if ($a->getName() === $b->getName()) {
return 0;
}
if ($a->getName() < $b->getName()) {
return 1;
}
return -1;
}
public function sortByFilter($collection)
{
$iterator = $collection->getIterator();
$iterator->uasort(array($this, 'sortbyname'));
return $collection;
}
Я не совсем уверен, что если возвращаемая коллекция в sortByFilter изменяется.
Большое спасибо за быстрый ответ и хороший объяснение! :) – Faery