我有点被一些通常很直截了当的东西卡住了。我需要根据某个值和“排序顺序”数组将hasMany关系中的记录排序为自定义顺序
我下面的代码不起作用,因为我正在传递uSort()一个有说服力的集合,我不知道如何绕过它
$go=$this->;拥有许多(“产品”)->;订货人('color','DESC');
$order=数组('红色'、'绿色'、'蓝色'、'黄色');
usort($go,function($a,$b)use($order){
$pos_a=数组搜索($a->;颜色,$order);
$pos_b=数组搜索($b->;颜色,$order);
返回$POSU a-$POSU b;
});
返回$go;
也许我错过了一些神奇的拉威尔魔法助手,但我被卡住了。任何想法或建议将不胜感激
干杯
usort相当于集合的sort()方法。它将回调作为参数并返回已排序的集合
因此,在您的情况下,解决方案是:
$go=$go->;排序(函数($a,$b)使用($order){
$pos_a=数组搜索($a->;颜色,$order);
$pos_b=数组搜索($b->;颜色,$order);
返回$POSU a-$POSU b;
});