Trochę utknąłem na czymś, co zwykle jest dość proste. Muszę posortować rekordy z wielu relacji w niestandardową kolejność na podstawie pewnej wartości i tablicy "porządek sortowania".Niestandardowe sortowanie w kolekcji relacji z laravelem
Mój poniższy kod nie działa, ponieważ przekazuję uSort() elokwentną kolekcję i nie jestem pewien, jak ominąć ten problem.
$go = $this->hasMany('Product')->orderBy('colour','DESC');
$order = array('RED', 'GREEN', 'BLUE', 'YELLOW');
usort($go, function ($a, $b) use ($order) {
$pos_a = array_search($a->colour, $order);
$pos_b = array_search($b->colour, $order);
return $pos_a - $pos_b;
});
return $go;
Może brakuje mi jakiegoś niesamowitego magicznego pomocnika, ale utknąłem. Wszelkie przemyślenia lub porady będą mile widziane!
zdrowie
Czy należy zakładać struktura tablicowa '$ go' podobnie jak' print_r ($ go) 'wraz z oczekiwanym wyjściem –