In verschiedenen Fällen muss ich eine Doctrine\Common\Collections\ArrayCollection
nach einer Eigenschaft im Objekt sortieren. Ohne ein Verfahren zu finden, das sofort zu tun, das tue ich dies:"Usort" eine Doctrine Common Collections ArrayCollection?
// $collection instanceof Doctrine\Common\Collections\ArrayCollection
$array = $collection->getValues();
usort($array, function($a, $b){
return ($a->getProperty() < $b->getProperty()) ? -1 : 1 ;
});
$collection->clear();
foreach ($array as $item) {
$collection->add($item);
}
Ich nehme dies nicht der beste Weg ist, wenn man alles auf native PHP-Array kopieren und zurück. Ich frage mich, ob es eine bessere Möglichkeit gibt, ein Doctrine\Common\Collections\ArrayCollection
"usort". Vermisse ich ein Dokument?
Iterator Art ist, aber scheint nicht zu der Sammlung zu schreiben durch ... Habe ich etwas verpasst? – luiges90
aktualisiert meine Antwort! Ich denke, ich weiß, was Sie wollten - hinzugefügt iterator_to_array ... jetzt akzeptabel? :) – nifr
Kann 'uasort' durch ersetzt werden mit' usort'? Ich habe es versucht, aber ich erorr-Call zu undefinierte Methode ArrayIterator :: usort() ' – Faery