使用usort和Sortby(集合方法)对数据库值进行排序

时间:2014-09-08 17:33:08

标签: php database laravel controller usort

我试图使用usort和sortby基本上在下面的代码为
之后 1.通过'feature_sort_order'排序$ featureLists 2.遍历每个$ featureList并将排序顺序重置为整数一个连续值

我的请愿表中包含值为1到6的feature_sort_order列  我在控制器中使用了这部分代码:

$featureList = Petition::getFeaturedPetitions();
$Petition->featured_sort_order = Input::get('dropdown_menu_list');
foreach($featureList as  $featureLists)
{
    if($featureLists->feature_sort_order >= $Petition->featured_sort_order && $featureLists->id != $Petition->id)
    {
        $featureLists->feature_sort_order += 1;
    }
}

这里我要做的是从下拉菜单中选择一个值,并在所选项目之前更改当前项目位置。

我尝试过这样的事情,但没有成功:

function cmp($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

function sortBy(&$items, $key) {
    if (is_array($items)) {
        return usort($items, function($a, $b) use ($key) {
            return cmp($a[$key], $b[$key]);
        });
    }
    return false;
}

sortBy($featureList, 'featured_sort_order');

// foreach($featureLists->feature_sort_order as featureOrder)
 // {


// }

0 个答案:

没有答案