获取所有()数据并按升序排序并选择

时间:2017-01-21 14:40:35

标签: php sql laravel laravel-5.3

我想获取所有用户数据并按升序排序,然后选择所需的列

$drivers = Driver::all()
         ->select('id','first_name','last_name','phone_number','registration_id')
        ->get();

现在我得到了所有数据

谢谢

2 个答案:

答案 0 :(得分:2)

在这种情况下,请移除all()并添加orderBy()

    $drivers = Driver::select('id','first_name','last_name','phone_number','registration_id')
    ->orderBy('the-order-column', 'asc or desc')
    ->get();

方法all()get()执行相同的操作,但您无法使用all()修改查询(例如添加orderBy())。

Laravels关于orderBy()的文档:https://laravel.com/docs/5.3/queries#ordering-grouping-limit-and-offset

答案 1 :(得分:1)

要对结果进行排序,只需使用OrderBy

例如,如果要按first_name排序,请使用:

$drivers = Driver::select('id','first_name','last_name','phone_number','registration_id')
         ->orderBy('first_name', 'asc')
         ->get();
如果你想降序,请用'desc'改变'asc'。

如果你不想要一切,请不要使用All()