我有点卡在通常非常简单的事情上。我需要根据hasMany关系将记录排序为基于某个值和“排序顺序”数组的自定义顺序。laravel关系集合上的自定义排序
我下面的代码不起作用,因为我通过uSort()一个雄辩的集合,我不知道如何解决它。
$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;
也许我失去了一些令人惊异的魔法laravel帮手,但我坚持。任何想法或建议将不胜感激!
干杯
能否请您发布过类似的问题的答案'$ go'的数组结构与'print_r($ go)'一起,以及期望的输出 –