如何在Laravel中按FirstName对表进行排序?

时间:2016-06-14 20:55:48

标签: php laravel laravel-5

我是Laravel的新手,我只是想用First Name对这个表进行排序,但我不确定从哪里开始。

这是控制器,只需在表格上呈现数据。

    $resultArray = object_to_array($result);

    return view('home', [
        'resultArray' => $resultArray
    ]);

2 个答案:

答案 0 :(得分:2)

由于您可能会对数据进行分页,因此您不会真正想要对前端进行排序,否则您只需将前50个结果中的结果排序为按字母顺序排序的顺序

相反,你会做类似

的事情
$users = User::orderBy('firstName')->paginate(50)

然后将用户传递给您的视图。

目前,您似乎正在将结果数据转换为数组,这并不是必需的,因为laravel返回的集合对象具有wrap some functional programming features的一些很好的功能,比如排序。

修改

如果您只想按照示例中当前显示的方式订购数据,最好的方法是使用usort。这不具备laravel集合的优点,但仍允许您根据需要对数组进行排序。

如果您有数据:

$items = [
    ['name' => 'barry'], 
    ['name' => 'alan']
];

usort($items, function ($a, $b) { return $a['name'] > $b['name'];});

将数组重新排序为

$items = [
    ['name' => 'alan'],
    ['name' => 'barry'] 
];

它通过引用传递,因此原件将被修改。

我建议查看laravel集合类,它提供了一个更好的界面来处理这种数据。

答案 1 :(得分:0)

尝试对获取结果数组的名称进行排序。 表示如果从数据库中获取它,则按查询中的名称对结果进行排序。