Sono un po 'bloccato su qualcosa che di solito è abbastanza semplice. Ho bisogno di ordinare i record da una relazione hasMany in un ordine personalizzato basato su un certo valore e una matrice di "ordinamento".Ordinamento personalizzato su una collezione di relazioni laravel
Il mio codice qui sotto non funziona perché sto passando uSort() una raccolta eloquente e non sono sicuro di come aggirarlo.
$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;
Forse mi manca qualche incredibile assistente magico di laravel, ma sono bloccato. Qualsiasi pensiero o consiglio sarebbe molto apprezzato!
Acclamazioni
Puoi prega di inviare la struttura dell'array di '$ go' come' print_r ($ go) 'insieme all'output atteso –